Projections with State
Passing state inside Projection
#[Projection(self::NAME, Ticket::class)]
final class TicketCounterProjection
{
const NAME = "ticket_counter";
#[EventHandler]
public function when(TicketWasRegistered $event, #[ProjectionState] TicketCounterState $state, EventStreamEmitter $eventStreamEmitter): TicketCounterState
{
$state = $state->increase();
$eventStreamEmitter->emit([new TicketCounterWasChanged($state->count)]);
return $state;
}
}Fetching the state from outside
Demo
Last updated
Was this helpful?