

Level: Intermediate (some prior knowledge necessary)
Length: Tutorial (3 hours)
Description:
Building PHP applications using domain-driven design (DDD) techniques results in code that is easier to modify, maintain, test, and makes for a better user experience. In this hands-on tutorial, you will become versed in the best practices for solving problems using domain-driven design in PHP from start to finish. You will learn to:
- Understand what Domain-driven design is and what problems it is good for
- Discover a ubiquitous language and identify changes in the design of PHP classes, methods, and problem-solving
- Use Event Storming build the best software for the client/user
- Assemble an incorruptible domain model in PHP
- Use bounded contexts and domain events to better organize code and make it more modular
- Employ best practices for persisting and accessing entities and aggregate roots in Laravel Eloquent, Doctrine, Zend, etc
- Use advanced PHP object-oriented techniques to simplify code and reduce state complexity
- Plan for change by using the Hexagonal Architecture Pattern
- Evaluate when and how to use CQRS and Event Sourcing techniques
- Introduce DDD to a “legacy” codebase
- DDD and handling thousands of requests per second at scale
- Discover recommended resources for learning more about applying DDD in PHP