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 queueable()
function.
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!
Laravel Sail is a new CLI for interacting with Laravel's Docker environment. It will provide you with everything you need to get started building applications, without the worry or hassle of manually installing PHP, MySQL, Redis, and more on your local machine. Instead, a single command will do the work for you.
In this episode, we'll take a ten minute tour to get you up to speed.
*Series still in development. Check back often for updates.