PHP + ES + CQRS + DDD = ? An integrated strategy
summary
Claims a practical path to add DDD + CQRS + Event Sourcing to an existing PHP codebase: use the EventSauce library, serialize events to JSON in a single events table with an aggregate-version unique index to guard concurrency, generate new events from legacy rows via an event generator and perform dual-write migration inside DB transactions so old code keeps working, and build projections/read models for queries. Gives DBAL/MySQL and UUID details, notes real projects hit tens of millions of events but remain performant.
AI-written summary · about
chapters (14)
- 0:00Start
- 4:51COMMON APPROACHES
- 7:50THE EVOLUTION OF DDD - CQRS - CQRS/ES
- 8:48THE WORKSHOP
- 14:02DOMAIN DRIVEN DESIGN + CQRS/ES
- 19:12THE DDD "ONION" / LAYERS
- 23:57AGGREGATE ROOT ID - UUID
- 27:57AGGREGATE ROOT - TRAIT
- 30:11AGGREGATE ROOT REPOSITORY 1/2
- 33:44EVENTSAUCE LIFECYCLE
- 35:18GREEN FIELD VS RUNNING PROJECT
- 36:31THE BREAKTHROUGH
- 40:03HOW TO ITERATE
- 41:55DISADVANTAGES / PITFALLS
related talks
43mAdding Event Sourcing to an existing PHP project (for the right reasons)
32mEvent Sourcing in Laravel with EventSauce
41mAdding Event Sourcing to an existing PHP project (for the right reasons)
40mDDD, CQRS, Hexagonal, Onion,... Putting it together
25mCQRS and Event Sourcing: May the Event Be with You
54mFrom domain to code: a practical approach
40mEvent Sourcing with Laravel
02h 53mPractical design patterns in PHP (Part 3)
