registerForAutoconfiguration(Mvc\Controller\ControllerInterface::class)->addTag('extbase.controller'); $container->registerForAutoconfiguration(Mvc\Controller\ActionController::class)->addTag('extbase.action_controller'); $container->registerForAutoconfiguration(Validation\Validator\ValidatorInterface::class)->addTag('extbase.validator'); $container->addCompilerPass(new PublicServicePass('extbase.validator', true)); $container->addCompilerPass(new class implements CompilerPassInterface { public function process(ContainerBuilder $container): void { foreach ($container->findTaggedServiceIds('extbase.controller') as $id => $tags) { $container->findDefinition($id)->setPublic(true); } foreach ($container->findTaggedServiceIds('extbase.action_controller') as $id => $tags) { $container->findDefinition($id)->setShared(false); } } }); $container->addCompilerPass(new TypeConverterPass('extbase.type_converter')); $container->addCompilerPass(new DependencyInjection\RateLimitPass('extbase.action_controller')); $container->addCompilerPass(new DependencyInjection\AuthorizePass('extbase.action_controller')); };