From 4d46655cb6aeee44a08dc13984f411fe6d1da487 Mon Sep 17 00:00:00 2001 From: soyuka Date: Fri, 3 May 2024 11:23:24 +0200 Subject: [PATCH] fix(symfony): use_symfony_listeners before registering services --- .../DependencyInjection/ApiPlatformExtension.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/Symfony/Bundle/DependencyInjection/ApiPlatformExtension.php b/src/Symfony/Bundle/DependencyInjection/ApiPlatformExtension.php index fcfb1ae605..c07c6a07db 100644 --- a/src/Symfony/Bundle/DependencyInjection/ApiPlatformExtension.php +++ b/src/Symfony/Bundle/DependencyInjection/ApiPlatformExtension.php @@ -114,6 +114,13 @@ public function load(array $configs, ContainerBuilder $container): void $configuration = new Configuration(); $config = $this->processConfiguration($configuration, $configs); + if (null === $config['use_symfony_listeners']) { + $config['use_symfony_listeners'] = true; + trigger_deprecation('api-platform/core', '3.3', 'Setting the value of "use_symfony_listeners" will be mandatory in 4.0 as it will default to "false". Use "true" if you use Symfony Controllers or Event Listeners.'); + } + + $container->setParameter('api_platform.use_symfony_listeners', $config['use_symfony_listeners']); + if (!$config['formats']) { trigger_deprecation('api-platform/core', '3.2', 'Setting the "formats" section will be mandatory in API Platform 4.'); $config['formats'] = [ @@ -218,14 +225,8 @@ private function registerCommonConfiguration(ContainerBuilder $container, array $loader->load('symfony/uid.xml'); } - if (null === $config['use_symfony_listeners']) { - $config['use_symfony_listeners'] = true; - trigger_deprecation('api-platform/core', '3.3', 'Setting the value of "use_symfony_listeners" will be mandatory in 4.0 as it will default to "false". Use "true" if you use Symfony Controllers or Event Listeners.'); - } - // TODO: remove in 4.x $container->setParameter('api_platform.event_listeners_backward_compatibility_layer', $config['event_listeners_backward_compatibility_layer']); - $container->setParameter('api_platform.use_symfony_listeners', $config['use_symfony_listeners']); if ($config['event_listeners_backward_compatibility_layer']) { trigger_deprecation('api-platform/core', '3.3', sprintf('The "event_listeners_backward_compatibility_layer" will be removed in 4.0. Use the configuration "use_symfony_listeners" to use Symfony listeners. The following listeners are deprecated and will be removed in API Platform 4.0: "%s"', implode(', ', [