symfony/console, symfony/dependency-injection).symfony/dependency-injection to register Tactician services.Tactician\CommandBus to Laravel’s container via AppServiceProvider.CommandBus) maps to Laravel’s service binding, reducing boilerplate.CommandHandlerMiddleware, LoggerMiddleware) aligns with Laravel’s middleware pipeline, enabling reuse of existing middleware (e.g., auth, validation).AppKernel). Laravel apps may need adapters (e.g., custom event dispatchers).symfony/console versions).Illuminate\Bus) or augment it?symfony/console)?symfony/dependency-injection, symfony/console.Illuminate\Bus (simpler, but lacks middleware flexibility).Bus::handle(new YourCommand())).Illuminate\Bus for new features (if justified).CommandBus in Laravel’s container).composer.json).CommandBus can be bound to Laravel’s container via:
$this->app->bind(\League\Tactician\CommandBus::class, function ($app) {
return new \League\Tactician\CommandBus(
new \League\Tactician\Middleware\CommandHandlerMiddleware(
$app->make(\League\Tactician\Handler\CommandHandlerMiddleware::class)
)
);
});
symfony/dependency-injection) are compatible.TacticianBundle (or bind services manually).app/Commands/YourCommand.php).symfony/console).dd() or Xdebug).RetryMiddleware or Laravel’s queue retries.throw or return early (test edge cases).How can I help you explore Laravel packages today?