Before we dive into the new features in Laravel 8, let's first pull in the latest version of the Laravel Installer tool. This new version includes the ability to generate the necessary Jetstream scaffolding when creating a Laravel app. Next, we'll install a fresh copy of Laravel 8.
First up on our journey is the new models directory and namespace.
Those of us with long-running Laravel applications are well-aware of how massive the migrations folder can get. The Laracasts codebase, itself, has well over 100 migrations that must run every time I refresh the database. As part of Laravel 8, you can now squash these down into a schema file.
In Laravel 8, all generated models include a new
HasFactory trait. In this episode, we'll review the new class factories as well as how to execute them.
Before we move on, let's dig a bit more into the new model factory generation. In this episode, we'll review relationships and the
has magic method.
Laravel 8 ships with improved maintenance-mode functionality. You can now pre-render templates and specify a secret key to effectively "whitelist" any users you share it with.
If you enjoy using the traditional
Event::listen() syntax for registering event listeners, you'll be happy to hear that the syntax is now a bit cleaner. In this episode, we'll review a basic registration example, while also taking a look at the new
Wormhole class allows for Carbon-based time-traveling. This can be useful in testing situations where you need to setup a world where
Carbon::now() returns a specific date and time that you specify.
Laravel 8 ships with an improved API for declaring rate limits on a per-key basis. In this episode, we'll review the differences between the Laravel 7 and 8 approaches.
If you'd like to come along, in this video, I will be upgrading the Laracasts codebase itself from Laravel 7 to Laravel 8. It shouldn't be too difficult, so let's get started!
*Series still in development. Check back often for updates.