From 8fbcdf250e7c40cc709446b1e9c066fb02dfc5a8 Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Thu, 4 Jul 2019 21:43:27 +0200 Subject: [PATCH 1/4] conditionally register services --- .../DependencyInjection/SecurityExtension.php | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php index 2db17aa130c3..8d9ac136b0c4 100644 --- a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php +++ b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php @@ -28,6 +28,8 @@ use Symfony\Component\Security\Core\Authorization\ExpressionLanguage; use Symfony\Component\Security\Core\Authorization\Voter\VoterInterface; use Symfony\Component\Security\Core\Encoder\Argon2iPasswordEncoder; +use Symfony\Component\Templating\Helper\Helper; +use Twig\Extension\AbstractExtension; /** * SecurityExtension. @@ -69,8 +71,18 @@ public function load(array $configs, ContainerBuilder $container) $loader->load('security.xml'); $loader->load('security_listeners.xml'); $loader->load('security_rememberme.xml'); - $loader->load('templating_php.xml'); - $loader->load('templating_twig.xml'); + + if (class_exists(Helper::class)) { + $loader->load('templating_php.xml'); + + $container->getDefinition('templating.helper.logout_url')->setPrivate(true); + $container->getDefinition('templating.helper.security')->setPrivate(true); + } + + if (class_exists(AbstractExtension::class)) { + $loader->load('templating_twig.xml'); + } + $loader->load('collectors.xml'); $loader->load('guard.xml'); @@ -79,8 +91,6 @@ public function load(array $configs, ContainerBuilder $container) $container->getDefinition('security.firewall.context')->setPrivate(true); $container->getDefinition('security.validator.user_password')->setPrivate(true); $container->getDefinition('security.rememberme.response_listener')->setPrivate(true); - $container->getDefinition('templating.helper.logout_url')->setPrivate(true); - $container->getDefinition('templating.helper.security')->setPrivate(true); $container->getAlias('security.encoder_factory')->setPrivate(true); if ($container->hasParameter('kernel.debug') && $container->getParameter('kernel.debug')) { From 416502df4ec916599ebd27aee967f8f354f4062a Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Fri, 5 Jul 2019 12:25:01 +0200 Subject: [PATCH 2/4] pass default cache lifetime as an integer --- .../FrameworkBundle/DependencyInjection/FrameworkExtension.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php index 68f0713b6df5..bacd35b910d0 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php @@ -1710,7 +1710,7 @@ private function registerCacheConfiguration(array $config, ContainerBuilder $con if (!$container->getParameter('kernel.debug')) { $propertyAccessDefinition->setFactory([PropertyAccessor::class, 'createCache']); - $propertyAccessDefinition->setArguments([null, null, $version, new Reference('logger', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)]); + $propertyAccessDefinition->setArguments([null, 0, $version, new Reference('logger', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)]); $propertyAccessDefinition->addTag('cache.pool', ['clearer' => 'cache.system_clearer']); $propertyAccessDefinition->addTag('monolog.logger', ['channel' => 'cache']); } else { From e110603e5e99e6eaf5d8ed2eb6f9a0b85fc63ffe Mon Sep 17 00:00:00 2001 From: "Alexander M. Turek" Date: Fri, 5 Jul 2019 21:20:21 +0200 Subject: [PATCH 3/4] Don't pass objects as class name to ContainerBuilder::register. --- .../Messenger/Tests/DependencyInjection/MessengerPassTest.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php b/src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php index 6c97608c9f4f..b484bc3abe98 100644 --- a/src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php +++ b/src/Symfony/Component/Messenger/Tests/DependencyInjection/MessengerPassTest.php @@ -448,10 +448,8 @@ public function testNeedsToHandleAtLeastOneMessage() public function testRegistersTraceableBusesToCollector() { - $dataCollector = $this->getMockBuilder(MessengerDataCollector::class)->getMock(); - $container = $this->getContainerBuilder($fooBusId = 'messenger.bus.foo'); - $container->register('data_collector.messenger', $dataCollector); + $container->register('data_collector.messenger', MessengerDataCollector::class); $container->setParameter('kernel.debug', true); (new MessengerPass())->process($container); From 6a1bae27d1449e67aa8f087c03f77a7800f0765f Mon Sep 17 00:00:00 2001 From: Tobias Schultze Date: Fri, 5 Jul 2019 22:59:32 +0200 Subject: [PATCH 4/4] fix merge --- .../SecurityBundle/DependencyInjection/SecurityExtension.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php index f527d0181e0e..21c890d4b543 100644 --- a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php +++ b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php @@ -102,9 +102,6 @@ public function load(array $configs, ContainerBuilder $container) if (class_exists(Helper::class)) { $loader->load('templating_php.xml'); - - $container->getDefinition('templating.helper.logout_url')->setPrivate(true); - $container->getDefinition('templating.helper.security')->setPrivate(true); } if (class_exists(AbstractExtension::class)) {