Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Browse all series

Digging In

So you're at the initial stage, where you've toyed with Laravel, but haven't quited dug in yet? Great! Let's build a little tool together, as an exercise.

This Series Has Been Archived

You are viewing an archived course. Some of the concepts in this video may no longer be relevant in 2026.

Progress

Series Info

Episodes
9
Run Time
1h 36m
Difficulty
Beginner
Last Updated
Nov 11, 2015
Version
Latest

Series Episodes

  1. Episodes (9)
    1. Setup

      So you're at the initial stage, where you've toyed with Laravel, but haven't quite dug in yet? Great! Let's build a little app together.
    2. Design and Migrations

      Let's take just a moment (and I mean "moment") to tweak the design to be somewhat more friendly. Next, we'll discuss the power of migrations and seed files.
    3. Relationships

      Moving along, we'll now discuss relationships. If a task belongs to a user, and a user can have many tasks, how can we represent that with Laravel?
    4. Gravatars and Eager Loading

      Ever heard of the N + 1 dilemma? Well, you'll see it first-hand in this lesson, along with how to fix it. Also, along the way, we'll add support for displaying Gravatars next to tasks.
    5. Cleanup

      In this lesson, we'll tackle a number of different things. Mostly, though, the name of the game is cleanup.
    6. Forms

      In this lesson, we'll build a form to create new tasks. In particular, we'll learn how to, when filling out the form, specify which user we wish to assign the task to.
    7. Validation Services

      We can't allow users to create new tasks, without first filtering the form data through some form of validation! Get ready, because we'll tackle a number of topics in this lesson, including the single responsibility principle, service classes, custom exceptions, and more.
    8. Validation Redux

      In the previous lesson, I demonstrated a high-level way to manage your validation. We used services and custom exceptions to handle the flow. In this lesson, however, we'll back-track and try a different approach: hooking into model events.
    9. Completing Tasks

      As we slowly begin to finish up this demo project, we need to take some time to allow users to complete tasks (and style those tasks accordingly).

Continue Learning