Skip to content

Commit babe7bd

Browse files
committed
[DependencyInjection] Autoconfigurable attributes
1 parent 58779bc commit babe7bd

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

DependencyInjection/FrameworkExtension.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
use Symfony\Component\DependencyInjection\Parameter;
5959
use Symfony\Component\DependencyInjection\Reference;
6060
use Symfony\Component\DependencyInjection\ServiceLocator;
61+
use Symfony\Component\EventDispatcher\Attribute\EventListener;
6162
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
6263
use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
6364
use Symfony\Component\Finder\Finder;
@@ -549,6 +550,10 @@ public function load(array $configs, ContainerBuilder $container)
549550
$container->registerForAutoconfiguration(LoggerAwareInterface::class)
550551
->addMethodCall('setLogger', [new Reference('logger')]);
551552

553+
$container->registerAttributeForAutoconfiguration(EventListener::class, static function (ChildDefinition $definition, EventListener $attribute): void {
554+
$definition->addTag('kernel.event_listener', get_object_vars($attribute));
555+
});
556+
552557
if (!$container->getParameter('kernel.debug')) {
553558
// remove tagged iterator argument for resource checkers
554559
$container->getDefinition('config_cache_factory')->setArguments([]);

0 commit comments

Comments
 (0)