- Can I install jeckel-lab/command-dispatcher-bundle in a Laravel application?
- Composer may resolve the package since it is a small MIT-licensed library, but installing it accomplishes nothing in Laravel. The package ships no Laravel service provider, and Laravel has no mechanism for registering a Symfony Bundle class, loading its DependencyInjection Extension, or running its compiler passes. Without that wiring the command dispatcher is never bootstrapped, so there is nothing to dispatch to.
- What does this Symfony bundle actually do?
- It integrates the command dispatcher pattern into a Symfony application by registering commands, handlers, and middleware through the Symfony service container. Handlers are discovered via service tagging and autoconfigure, and a compiler pass wires the dispatcher together so controllers can dispatch commands without knowing about the handlers. The value is in the Symfony-specific wiring rather than in the dispatcher logic itself.
- Why can't Laravel load a Symfony bundle?
- A Symfony bundle integrates through a Bundle subclass, a DependencyInjection Extension with a Configuration tree, compiler passes, and service tagging with autoconfigure. Laravel's extension surface is completely different: service providers, config/*.php merges, container bind and singleton calls, and Illuminate\Contracts\Bus. There is no supported path to load a Symfony bundle in a Laravel application, so the integration surface of this package simply does not exist on Laravel.
- What is the Laravel-native alternative to this package for a command bus?
- Laravel already ships a first-class command bus. You can use dispatch(), Bus::map() for command-to-handler mapping, the Dispatchable trait, queued command handlers, a middleware pipeline, and ShouldQueue for async dispatch. A small first-party implementation of the same pattern is typically a one-to-three day spike and carries zero third-party risk.
- Does the package support Laravel 10, Laravel 11, or recent PHP versions?
- No. There is no Laravel version support at all because the package is a Symfony bundle, and its last release was 2021-12-03 with no PHP 8.2, 8.3, or 8.4 compatibility work. Even in a Symfony shop the first blocker would be version-constraint collisions against modern Symfony components. Treat any Laravel or current-PHP support claim as unsupported.
- Is jeckel-lab/command-dispatcher-bundle still maintained?
- The project shows one GitHub star, zero dependents, a single author, and a last release date of 2021-12-03. That combination means no security patching and a bus factor of one, so abandonment risk is near certain. Supply-chain risk is low because the surface is small and MIT-licensed, but do not expect fixes, releases, or framework updates.
- Can I port the bundle's command dispatcher logic into a Laravel service provider?
- Yes, technically it is viable. The dispatcher and handler-resolution logic is likely only a few hundred lines, which you could re-express as a Laravel service provider with attribute-based or interface-based handler discovery. The catch is that you would then be maintaining a fork of an abandoned one-star package for the sake of its design, not its code, and you would inherit an unpinned symfony/dependency-injection and symfony/http-kernel dependency graph that version-skews against the Symfony components Laravel already consumes.
- Does the bundle provide middleware, transactions, or async dispatch like Laravel's bus?
- The bundle registers middleware through the Symfony container, but Laravel's bus already covers the same ground natively with middleware pipelines, ShouldQueue for async handlers, and transaction handling via DB::transaction around dispatch. Because the Symfony middleware wiring cannot be loaded in Laravel, none of that container-based configuration transfers. Re-implement the semantics you actually need on Laravel's bus rather than trying to reuse the bundle's.
- Are there maintained alternatives if I need a command bus with middleware?
- For a Laravel application the strongest option is Laravel's own bus with a custom middleware pipeline, since it is maintained, documented, and already installed. If you want a third-party abstraction, league/tactician with a Laravel bridge and laravel-command-bus style packages are the mature adjacent options. Avoid adding a Symfony bundle plus a shim when the native bus already supports middleware and queued commands.
- Is it worth running the Symfony bundle as a separate service alongside a Laravel app?
- Only if your organisation already operates Symfony services today or on the near-term roadmap. In that case the bundle lives in its own deployable and Laravel talks to it over HTTP or a queue, which is an anti-corruption-layer decision rather than a package adoption. If no part of the estate runs Symfony, this package has no home and should not be adopted as a dependency.