- Is innmind/event-bus compatible with Laravel?
- There is no native Laravel integration. The package is framework-agnostic and built around Innmind conventions, so using it in Laravel requires a hand-written adapter to resolve listeners from the container and translate errors. Laravel already ships a first-class dispatcher wired into queues, broadcasting, model events, and testing helpers. For that reason, innmind/event-bus is a poor fit for a standard Laravel application.
- How do I install innmind/event-bus with Composer?
- You would install it with composer require innmind/event-bus, but the upstream repository is archived and no longer receives updates. Check the final release's PHP and dependency constraints before attempting an install, and pin the version in CI. Treat any behavior as unverified because the package has zero dependents and no field validation.
- Is innmind/event-bus still maintained?
- No. The repository is archived, so there are no PHP version constraint updates, no CVE response, and no bug fixes. It also has a single maintainer, zero stars, and zero dependents. That combination means you would need to vendor or fork the code if you adopted it.
- Does innmind/event-bus support queues or asynchronous delivery?
- It is an in-process dispatcher, so delivery is synchronous within the same request. It does not provide its own persistence or transport layer for queues, retries, or dead-lettering. Any asynchronous behavior would have to be supplied by your application, which reduces the value of adding the package at all.
- What are the best alternatives to innmind/event-bus for Laravel?
- Laravel's native events and queue system are the default choice because the framework owns and maintains them. Symfony Messenger is a strong option for transport-heavy or asynchronous needs, and Ecotone is viable if you want messaging plus event-sourcing patterns. league/event is only suitable for tiny framework-agnostic libraries. innmind/event-bus is best treated as a design reference rather than a runtime dependency.
- Does innmind/event-bus work with PHP 8?
- That is not guaranteed. Because the project is archived, its PHP version constraints are not updated and it may fail silently on newer PHP minors. You would need to pin the package and test it explicitly in CI on your current runtime. For most Laravel teams, the safer choice is to avoid the dependency.
- How does innmind/event-bus handle listener ordering and exceptions?
- The package does not publish clear guarantees on listener ordering, exception propagation, or partial-failure semantics. Those are open questions that determine whether it is usable for anything transactional. You should read the source and write explicit tests before relying on any behavior. Without upstream maintenance, those semantics will not be clarified or fixed.
- Can I use innmind/event-bus for domain events in a Laravel app?
- You can, but only behind an adapter layer. That means mapping native events into Innmind value objects, resolving listeners from the Laravel container, and translating error states back into framework exceptions. Introducing a second bus also creates two registration mechanisms and two dispatch paths. That ambiguity is a durable source of production defects rather than a stylistic preference.
- How do I test listeners with innmind/event-bus in Laravel?
- Laravel's Event::fake() helper only intercepts the native dispatcher, so it will not cover an Innmind event bus. You would need custom fakes or an adapter that routes through Laravel's dispatcher. This adds test infrastructure that the framework otherwise provides for free. It is another integration cost to weigh against the package's small API surface.
- Should I use innmind/event-bus in production?
- No. The upstream is archived, has zero dependents, and carries a bus factor of one that has already been realized. Its behavior is effectively unverified, and it has no persistence or transport story of its own. If you must use it, assign a named team to own a fork and pin it in CI, but a maintained alternative is the better business case.