TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace TYPO3\CMS\Extbase;
|
||||
|
||||
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||
use TYPO3\CMS\Core\DependencyInjection\PublicServicePass;
|
||||
use TYPO3\CMS\Extbase\DependencyInjection\TypeConverterPass;
|
||||
|
||||
return static function (ContainerConfigurator $containerConfigurator, ContainerBuilder $container) {
|
||||
$container->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'));
|
||||
};
|
||||
Reference in New Issue
Block a user