Practical Event Sourcing

A step by step guide to building your very first Event Sourced Aggregate.

By Mathias Verraes
Published on 18 March 2014




Traditionally, we create structural models for our applications, and store the state of these models in our databases.

But there are alternatives: Event Sourcing is the idea that you can store all the domain events that affect an entity, and replay these events to restore the object’s state. This may sound counterintuitive, because of all the years we’ve spent building relational, denormalized database schemas. But it is in fact quite simple, elegant, and powerful.

In the past year, I’ve had the pleasure of building and shipping two event sourced systems. In this session, I will show practical code, to give you a feel of how you can build event sourced models using PHP.