ecentria/ecentria-apievents-bundle
EventDispatcher alternatives like laravel-events or symfony/event-dispatcher bridge).symfony/event-dispatcher and symfony/messenger (if using Laravel 9+).illuminate/events or pestframework/events).php-amqplib or vladimir-yuldashev/laravel-queue-rabbitmq can replace Symfony’s php-amqplib if needed.Illuminate\Contracts\Events\Dispatcher with minimal changes.EventDispatcher interfaces, service container differences). Requires abstraction layer or rewrite.EventDispatcher and RabbitMQConsumer be adapted to Laravel’s Event system without major refactoring?Bundle structure (e.g., spatie/laravel-package-tools)?Serializer, or custom? Laravel may need spatie/laravel-data or nesbot/carbon for compatibility.spatie/laravel-monitoring)?queue:work + events or packages like beberlei/laravel-event-sourcing be simpler?Event system + RabbitMQ client (e.g., vladimir-yuldashev/laravel-queue-rabbitmq).Consumer and Event classes to Laravel’s interfaces.symfony/messenger for RabbitMQ + symfony/event-dispatcher for events).bus or events vs. Symfony’s EventDispatcher).| Component | Symfony | Laravel Adaptation | Risk |
|---|---|---|---|
| EventDispatcher | Symfony’s EventDispatcher |
Illuminate\Events\Dispatcher or symfony/event-dispatcher |
Medium (interface differences) |
| RabbitMQ Consumer | Symfony’s Messenger or custom |
vladimir-yuldashev/laravel-queue-rabbitmq |
Low (client libraries exist) |
| Event Model | Custom class | Laravel’s Event interface or Arrayable |
Low (minimal changes needed) |
| Service Container | Symfony DI | Laravel’s IoC Container (AppServiceProvider) |
Medium (binding differences) |
| Configuration | YAML/XML | Laravel’s config/ecentria.php |
Low (manual mapping required) |
EcentriaEventInterface) compatible with both frameworks.interface EcentriaEventInterface extends ShouldBeStringable {
public function getEventName(): string;
public function toArray(): array;
}
EcentriaEventInterface.event() helper.$consumer = new RabbitMQConsumer($channel);
$event = $consumer->consume(); // Returns EcentriaEventInterface
event($event);
php-amqplib in-memory) and Laravel’s event listeners.php artisan queue:work --queue=ecentria-events).php-amqplib resources.Sentry or Symfony Monitor.Laravel Telescope, Sentry, or Datadog to track event processing.Prometheus + Grafana or RabbitMQ’s built-in tools.event() is thread-safe; no additional scaling needed for dispatch.How can I help you explore Laravel packages today?