domain | laravel-beyond-crud.com |
summary | **Summary:**
- **Domain-Driven Design (DDD) and Hexagonal Architecture in Laravel:** - Treat domains as first-class citizens. - Use hexagonal architecture for decoupling business logic from infrastructure. - Apply state pattern for complex, state-specific flows.
- **When to use Domains:** - When the domain is complex or has significant business rules. - Not necessary for simple CRUD operations where Laravel's default structure suffices.
- **Data and Functionality as First-Class Citizens:** - Both data objects and functionality have significant impacts on projects, regardless of size.
- **Application vs Domain Code:** - Application code: handles input/output, orchestrates domain logic. - Domain code: business rules, entities, value objects, aggregate roots.
- **Writing Robust Code:** - Use types and static analysis to catch errors early. - Leverage Laravel's built-in type-hinting and PHPStan for static analysis.
- **Controllers, View Models, and Actions:** - Controllers handle requests/responses; use view models to improve workflow. - Actions bundle code into reusable, structured solutions (e.g., commands, queries).
- **Model Querying:** - Even small MVC apps deal with querying models. Understanding Laravel's query builders is essential.
- **Cherry-picking Principles:** - Pick and choose principles from the course to solve specific problems in your projects. |
title | Building larger-than-average web applications - Laravel beyond CRUD |
description | Building larger-than-average web applications by Brent Roose. An ebook and premium video course by Spatie. |
keywords | course, large, code, applications, projects, using, building, project, brent, principles, data, years, book, videos, video, testing, while |
upstreams |
spatie.be |
downstreams |
|
nslookup | A 161.35.203.20 |
created | 2024-12-01 |
updated | 2025-04-24 |
summarized | 2025-04-24 |
|
|