logo Laravel Beyond CRUD 2nd Edition
Abstract painting
Updated for Laravel 10 / PHP 8.2

Laravel
Beyond CRUD

Learn how to build larger-than-average Laravel applications and maintain them for years to come.

Video still
Videos & ebook
199 USD
  • 100+ pages of premium content
  • 2 hours of video
  • Example source code download
  • All beautifully designed
Course bundle
279 USD
cover image bundle Testing Laravel & Laravel Beyond Crud

Prices exclusive of VAT for buyers without a valid VAT number.
We use purchasing power parity. Contact us if you are a student.

You'll face a unique set of problems while building larger-than-average applications. In this course, I'll share our thought process and solutions. This way, you'll be able to solve the problems unique to your team and project.

Join me as I start building a Laravel project from scratch. I'm sure you can pick up some new techniques, regardless of the size of projects you're working on.

Brent Roose, author

What's inside?

The knowledge in this course is built from the years of experience our team has building large, robust applications.

Ebook cover
Read sample as

Ebook

The ebook is your guide for building large maintainable Laravel applications. Along the way, you'll be introduced to concepts like DDD and hexagonal design, all while still embracing Laravel's focus on elegant code. The book is beautifully designed by Sebastian De Deyne.

Video still

Videos

During 2 hours of video Brent talks you through the content of the book with lots of practical examples and live coding. Serious content, brought in Brent's enthusiastic manner!

We'll cover…

Domain oriented Laravel

Most principles in this course are based on best practices in domain driven design, and hexagonal architectures. These proven principles will be our guide throughout building large Laravel applications. Some of the theoretical topics we'll cover include:

  • The basic idea of domain groups explained
  • Practically applying DDD and hexagonal architecture principles in Laravel projects
  • When to use domains, and when to stick to Laravel's default structure
  • Thinking of "data" and "functionality" as two first-class citizens of your codebase
  • The state pattern to model complex, state-specific, flows
  • The difference between application and domain code
  • Writing robust code by using types and static analysis

In practice

We're nothing with only theory if we can't apply it in practice. This course focuses highly on combining the two: in each episode we'll do live coding, and build a project from the ground up:

  • Keeping model classes small and clean
  • Structuring complex queries
  • Passing data around in a structured way using Data Transfer Objects
  • How to make code reusable by using actions
  • Improving code clarity by using meaningful names
  • Keep controllers light by using view models
  • Adding behaviour to collections
  • Testing actions, Data Objects and model-related classes
  • Using enhanced test factories to seed data for every scenario
  • Using PhpStorm's refactoring tools to manage classes and namespaces
  • Scaffold different types of classes using PhpStorm templates

For everyone

While the main focus of this course lies on larger projects, there are many principles in it that you can apply today, in your own projects, even when they aren't large at all. We've used many of these principles ourselves, also in our smaller projects:

  • Data objects always have a significant impact, regardless of project size
  • Whatever type of project, you will be dealing with controllers, so view models will improve your workflow
  • Actions are a structured solution for code that would otherwise end up spread across the project
  • Even the smallest MVC app also deals with querying models, understanding Laravel's query builders will be an asset
  • Most principles in this course can be cherry-picked by you to solve your problems. Nothing is set in stone: there are no hard rules, only guidelines
Abstract painting

About the author

Brent has years of experience working on large web applications. In addition, he has taught himself topics like DDD and event sourcing.

Doing so, he applied much of the theoretical knowledge to modern day Laravel projects; a method that has paid of: most modern-day Spatie projects follow these practices.

Avatar
Brent Roose
@brendt_gd

2nd Edition NEW

This book was revised by Freek Van der Herten in October 2022. The code samples were updated to PHP 8.2 / Laravel 10, and various chapters were updated to how we currently build projects at Spatie.

Avatar
Freek Van der Herten
@freekmurze

What others say

I wish I had this book a few years ago as a foundation for my large web applications. Very concise, still in-depth. It’s an invaluable asset for any Laravel developer.

Avatar
Nuno Maduro
Software engineer at @laravelphp

At first I thought the book is all about coding best practices. I was wrong, it’s a complete guide on how to approach a large application while working in a team. I’m glad Spatie decided to share their experience building really large Laravel apps.

Avatar
Mohamed Said
Full-stack Developer @laravelphp

We'll notify you on updates of this course!