Let's begin by learning what Russian Doll caching actually is, and then moving on to the initial project setup, where we install both Laravel and Homestead for the project.
Before we can starting building our caching system, we first need some sample data to cache. So let's use this idea of an index card and notes. In this lesson, we'll build up the necessary route, models, and migrations.
Now that we have all the setup out of the way, let's write a custom Blade directive so that we may begin implementing our Russian Doll caching mechanism.
View the source code for this lesson (and the series so far) on GitHub.
At this point, our experiment is working. However, for any new project, we'd have to copy all these files over. Gross. Let's instead begin creating a reusable package, which we can then pull in through Composer.
Before we make this package available on Packagist.org, let's do some refactoring and write some tests. As you'll find, these tests might drive us toward a slightly different design. Let's see!
So far, we've been building our package in isolation. But, of course, we need to try this out within the context of an actual Laravel project. How exactly do we do that? Well, as it turns out, we can install local repositories with Composer quite easily. In this lesson, we'll do our final tweaks in preparation for Packagist.org.
The initial version of our package is ready to release. Naturally, there are a number of improvements we can make, but what we have so far is good enough for a 0.1.0 release. So let's register our package with Packagist.org.
View the source code for this package on GitHub. Please note that further commits will have been made to the repo, since the release of this video. Have a look at the commit history to review any specifics that interest you.