Each year, the Laracasts "Laravel From Scratch" series is refreshed to reflect the latest iteration of the framework. This is the 2016 edition, which uses version 5.2 of the framework.
Are you hoping to level up your toolset? You've come to the right place. This series will take you from installing Laravel, all the way up to mastering the essentials of the framework.
So you want to level up with Laravel? Excellent choice (high five). The first step, of course, is to install Laravel on our machine. We'll do that installing Composer, pulling in Laravel's helpful installer utility, and then running
laravel new project to generate the project.
The "hello world" for frameworks is to figure out how to process a given URI, and display the appropriate HTML on the page. In this lesson, you'll learn how to create routes, and load views. It's all very simple and natural, as you'll find.
You'll frequently need to pass data to your views. While figuring out how to accomplish this, you'll also get your first peek at Laravel's templating engine, called Blade.
Using route closures is very useful for small projects that don't require too much functionality. However, you'll likely find that, for most projects, you'll want to route directly to controllers. Let me show you how to do that.
To reduce duplication, Laravel's templating engine, Blade, provides what we call "layout files." Within these files, we can define the wrapping HTML, which nests the content from each of your views.
public folder, or you can leverage Laravel Elixir. With the latter, you can easily make use of Sass, Less, Browserify, or any number of useful tools!
Though it was not referenced in this video, make sure that you install Gulp globally first:
npm install --global gulp.
We've arrived at the fun part. You'll first learn how to create migrations to build up your database tables. Next, we'll use the query builder and Eloquent to fetch data, and render it in the view.
Eloquent provides a beautiful mechanism for referencing relationships. For example, a comment belongs to a post, a card can have many notes, and an article can both belong to and have many tags. Let's demonstrate the basic workflow for creating these relationships today.
Let's review the basic workflow for submitting a form, fetching the data that was sent through, and then creating a record in the database.
You'll of course need to modify existing records in the database. Let's review the process of creating an "edit" page to handle this very task. Along the way, we'll also get a chance to review PATCH requests and the concept of eager loading and the problems it solves.
The core topic for this lesson is validation, however, as you'll find, we'll also tackle a number of little things: group middleware, CSRF, old input, and more.
On February 26th, 2016, I made a request (in the video above) for all viewers to ask any questions they had about the series thus far. Did something not quite click? Ask away! On February 29th, I answered these questions below.
Before you continue on, take some time to review the comments below. You might pick up a tip or two.
Most applications will require some form of authentication. With Laravel, it genuinely could not be simpler. Let's setup registration, authentication, and password resets in a matter of minutes.
Think of middleware as layers of an onion. To get through to the core of your application, a request must first pass through these various layers. Perhaps one layer determines if the application is in maintenance mode. Another layer, or middleware, might verify that the user is signed in as an administrator.
You get to learn about session handling today. Specifically, we'll figure out how to flash notification messages to the session. This way, we can send quick alerts to the user that only exist for a single request.
It's vital that you fully understand this next topic. In many ways, the service container is the heart of Laravel. A proper understanding is paramount to your success with Laravel. Let's review all the details in this lesson.
Service providers, though a bit confusing at first, offer a mechanism for any component to register itself with Laravel. Whether you're bootstrapping a custom package, or simply registering a series of events listeners, it all takes place in a service provider. I'll teach you the ins and outs in this lesson.
Every series must end at some point. For "Laravel From Scratch" (laravelfromscratch.com), that time is now. In this final review, we'll do a final sweep over Laravel's directory structure, and review what we've learned. Naturally, there's so much more to cover; so get back to the "Laravel" Skill here at Laracasts, and move on to the next step!