<?php declare(strict_types=1); namespace WerkraumMedia\Events; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; use WerkraumMedia\Events\Service\DestinationDataImportService\Slugger\Registry; use WerkraumMedia\Events\Service\DestinationDataImportService\Slugger\SluggerType; return static function (ContainerConfigurator $container, ContainerBuilder $containerBuilder) { $containerBuilder->registerForAutoconfiguration(SluggerType::class)->addTag('tx_events.slugger_type'); $containerBuilder->addCompilerPass(new class() implements CompilerPassInterface { public function process(ContainerBuilder $container): void { $registry = $container->getDefinition(Registry::class); foreach (array_keys($container->findTaggedServiceIds('tx_events.slugger_type')) as $serviceId) { $registry->addMethodCall('add', [$container->getDefinition($serviceId)]); } } }); };