Each new release of Laravel feels like a mini-Christmas, and version 5 is no different! Though some of these changes might seem jolting at first, don't worry; give me a few minutes, and I'll explain everything you need to know. Get ready!
To begin our review of Laravel 5.0, let's review the most immediate change, when you install a fresh copy of the framework: the directory structure is different!
For a while now, we've been able to leverage automatic constructor injection, thanks to reflection and the IoC container. But now, the same is possible for controller methods! You'll love this one.
Next, we come to my favorite new feature in Laravel 4.3: form requests. Have you ever noticed how we all handle validation in slightly different ways? For such a common task, it's sad that there isn't a single system that we can all follow. Well...now there is! You're going to love form requests objects - especially when we mix them with method injection.
Re-typing the same boilerplate over and over benefits no one. Instead, leverage the new file generators in Laravel 4.3.
For a while now, we've had the luxury of choosing from multiple drivers for mail, sessions, queues, and more. However, when it came to the filesystem, we were limited to working locally. Well - not anymore! Laravel, once again embracing the best of the PHP community, now pulls in the excellent Flysystem package, while providing a light decorator around it to keep the API consistent with what you're used to.
Let's check it out!
Route caching, which would be performed on your production server, will drastically speed up the process of registering your application's routes.
Any modern application these days will require some form of automated asset/script compilation, concatenation, and general file watching. While tools, like Grunt and Gulp, simplify these common tasks, the truth is that it still takes too much effort to get up and running. But what if we could add a layer on top of Gulp to make the process of triggering such tasks as simple as it could possibly be? Well, we can! Let's talk about Laravel Elixir, which is now included with the base install of Laravel 5.
Update: To speed things up, minification is disabled during development. Instead, run
gulp --production when you're ready to deploy.
Where did my
routes.php file go!? Well, in Laravel 5, we can use annotations to register our routes. Let me show you how it works.
In Laravel 5, we have two ways to register event listeners, and both are better than the way we accomplished it in Laravel 4! Let's see.