-
-
Notifications
You must be signed in to change notification settings - Fork 9.7k
Closed
Labels
RFCRFC = Request For Comments (proposals about features that you want to be discussed)RFC = Request For Comments (proposals about features that you want to be discussed)
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
Metadata
Metadata
Assignees
Labels
RFCRFC = Request For Comments (proposals about features that you want to be discussed)RFC = Request For Comments (proposals about features that you want to be discussed)