macnificos/broadway-bundle
Symfony bundle for Broadway event sourcing that wires command and event buses, event stores, read models, and sagas into the container, reducing boilerplate when building CQRS and event-driven PHP applications.
broadway/broadway.Consider the underlying Broadway library only if all of the following hold:
activity_log table or database triggers solve the audit-log case at a fraction of the cost).Do not adopt this package specifically, and look elsewhere if any of these are true:
spatie/laravel-event-sourcing instead — it is actively maintained and idiomatic.patchlevel/event-sourcing or ecotone/cqrs for a maintained, actively developed event-sourcing layer.Practical recommendation: if event sourcing is genuinely on the roadmap, run a 1–2 week spike with patchlevel/event-sourcing (Symfony) or spatie/laravel-event-sourcing (Laravel) on a single bounded context. Do not let this bundle's existence be the justification for the architecture decision.
For executives: There is an open-source PHP library for event sourcing — storing every state change as an immutable event rather than just the current row. That capability supports audit trails, "time travel" debugging, and clean integrations. However, the specific package evaluated here (macnificos/broadway-bundle) is a thin, unmaintained Symfony wrapper with zero adoption (0 stars, 0 dependents, last release 2019). Recommendation: do not adopt this package. It carries supply-chain and maintenance risk with no offsetting benefit.
For engineering: The value is in broadway/broadway, not this bundle. If we pursue event sourcing, pick a maintained implementation — patchlevel/event-sourcing for Symfony, spatie/laravel-event-sourcing for Laravel — and scope it to one bounded context as a pilot. Budget for upskilling: event sourcing changes modeling, testing, and deployment (projection rebuilds, schema versioning), and it is expensive to reverse once features depend on it.
Bottom line: the architectural question (do we event-source anything?) is worth a decision; the package question is a clear no. Treat this bundle as a signal that the ecosystem exists, not as a candidate dependency.
How can I help you explore Laravel packages today?