Closed
Description
Description
RFC - Feature Request - EventSubscriber attribute
Opening this issue to gather feedbacks
Adding a new attribute AsEventSubscriber (mimic of AsCommand) for configuring EventSubscriber classes/methodes
Example
Before:
final class ProductSyncSubscriber implements EventSubscriberInterface
{
public function __construct(private readonly Manager $manager) {}
public static function getSubscribedEvents(): array
{
return [
ProductUpdatedEvent::class => 'onProductUpdated',
];
}
public function onProductUpdated(ProductUpdatedEvent $productUpdatedEvent): void
{
$this->manager->sync($productUpdatedEvent->getProductId());
}
}
After:
final class ProductSyncSubscriber
{
public function __construct(private readonly Manager $manager) {}
#[AsEventSubscriber(event: ProductUpdatedEvent, priority: 11)]
public function onProductUpdated(ProductUpdatedEvent $productUpdatedEvent): void
{
$this->manager->sync($productUpdatedEvent->getProductId());
}
}
- Then either implement new empty interface or extends empty class to autoconfigure
- Or register like controller as service