Saga Introduction
Process Manager Saga PHP
#[Saga]
class OrderFulfillment
{
#[Identifier]
private string $orderId;
private OrderState $state;
#[EventHandler]
public static function start(OrderWasPlaced $event): self { /* ... */ }
#[EventHandler]
public function onPaymentReceived(PaymentReceived $event, CommandBus $bus): void
{
$bus->send(new ReserveStock($this->orderId));
}
}Saga vs Aggregate
Where to go next
Sagas: Workflows That RememberBusiness WorkflowsLast updated
Was this helpful?