/blog / #symfony
$ tag: #symfony
6 post(s)
$ Related series
$ Posts in this tag
15 min readNEW
The Read Side Does Not Go Through the Aggregate
CQRS read models in Symfony 8: a read port the domain does not own, a query bus that returns a value, and when a projection table earns its place. Part 3.
DDD, CQRS and Hexagonal Architecture in Symfony 8 · part 3#cqrs#ddd#hexagonal-architecture#symfony#php#postgresql#doctrine18 min readNEW
The Application Layer, the Transaction, and a Working API
Application layer in Symfony 8: use cases on a Messenger command bus, the transaction boundary in config, optimistic locking and RFC 9457 errors. Part 2.
DDD, CQRS and Hexagonal Architecture in Symfony 8 · part 2#ddd#hexagonal-architecture#symfony#php#cqrs#messenger#software-architecture15 min readNEW
The Domain Model, and the Only Rule That Matters
DDD domain model in PHP 8.5 and Symfony 8: keep the container out of the domain, and choose Doctrine ORM or DBAL with the costs on the table. Series part 1.
DDD, CQRS and Hexagonal Architecture in Symfony 8 · part 1#ddd#hexagonal-architecture#symfony#php#doctrine#software-architecture21 min read
Building Idempotent Message Handlers in Symfony Messenger
A production guide to idempotent Symfony Messenger handlers using SQS, Redis locks, PostgreSQL deduplication, and the Outbox Pattern.
10 min read
The EntityManager Is Closed: Causes, Reset, and Recovery
Why Doctrine closes the EntityManager after a failed flush, what resetManager() restores and what it does not, and how to keep workers alive.
3 min read
Symfony Workflow Component and the Saga Pattern
Symfony's Workflow Component paired with the Saga Pattern for multi-step business processes, with configuration and a full integration example.