From 56eadf09f4c3087ecc85f07f110d7f4425a7942f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Auswo=CC=88ger?= Date: Wed, 29 Nov 2023 14:15:38 +0100 Subject: [PATCH 1/3] Fix legacy class palceholder definitions for static analysis --- Routing/AnnotatedRouteControllerLoader.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Routing/AnnotatedRouteControllerLoader.php b/Routing/AnnotatedRouteControllerLoader.php index 9fb17d8d7..e9cf9b95c 100644 --- a/Routing/AnnotatedRouteControllerLoader.php +++ b/Routing/AnnotatedRouteControllerLoader.php @@ -19,7 +19,7 @@ class_exists(AttributeRouteControllerLoader::class); /** * @deprecated since Symfony 6.4, to be removed in 7.0, use {@link AttributeRouteControllerLoader} instead */ - class AnnotatedRouteControllerLoader + class AnnotatedRouteControllerLoader extends AttributeRouteControllerLoader { } } From 5305c9044fc36cdeea3e2637374ae90b731ef9bb Mon Sep 17 00:00:00 2001 From: "hubert.lenoir" Date: Fri, 1 Dec 2023 15:02:36 +0100 Subject: [PATCH 2/3] [Serializer] Remove TranslatableNormalizer service when the Translator is disabled --- DependencyInjection/FrameworkExtension.php | 2 +- .../php/serializer_without_translator.php | 14 ++++++++++++++ .../xml/serializer_without_translator.xml | 15 +++++++++++++++ .../yml/serializer_without_translator.yml | 10 ++++++++++ .../FrameworkExtensionTestCase.php | 6 ++++++ 5 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 Tests/DependencyInjection/Fixtures/php/serializer_without_translator.php create mode 100644 Tests/DependencyInjection/Fixtures/xml/serializer_without_translator.xml create mode 100644 Tests/DependencyInjection/Fixtures/yml/serializer_without_translator.yml diff --git a/DependencyInjection/FrameworkExtension.php b/DependencyInjection/FrameworkExtension.php index 8a42bfb29..4ff8d5de3 100644 --- a/DependencyInjection/FrameworkExtension.php +++ b/DependencyInjection/FrameworkExtension.php @@ -1938,7 +1938,7 @@ private function registerSerializerConfiguration(array $config, ContainerBuilder $container->removeDefinition('serializer.mapping.cache_class_metadata_factory'); } - if (!class_exists(Translator::class)) { + if (!$this->readConfigEnabled('translator', $container, $config)) { $container->removeDefinition('serializer.normalizer.translatable'); } diff --git a/Tests/DependencyInjection/Fixtures/php/serializer_without_translator.php b/Tests/DependencyInjection/Fixtures/php/serializer_without_translator.php new file mode 100644 index 000000000..acf013080 --- /dev/null +++ b/Tests/DependencyInjection/Fixtures/php/serializer_without_translator.php @@ -0,0 +1,14 @@ +loadFromExtension('framework', [ + 'annotations' => false, + 'http_method_override' => false, + 'handle_all_throwables' => true, + 'php_errors' => ['log' => true], + 'serializer' => [ + 'enabled' => true, + ], + 'translator' => [ + 'enabled' => false, + ], +]); diff --git a/Tests/DependencyInjection/Fixtures/xml/serializer_without_translator.xml b/Tests/DependencyInjection/Fixtures/xml/serializer_without_translator.xml new file mode 100644 index 000000000..584937b0a --- /dev/null +++ b/Tests/DependencyInjection/Fixtures/xml/serializer_without_translator.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + diff --git a/Tests/DependencyInjection/Fixtures/yml/serializer_without_translator.yml b/Tests/DependencyInjection/Fixtures/yml/serializer_without_translator.yml new file mode 100644 index 000000000..33ee3f4b8 --- /dev/null +++ b/Tests/DependencyInjection/Fixtures/yml/serializer_without_translator.yml @@ -0,0 +1,10 @@ +framework: + annotations: false + http_method_override: false + handle_all_throwables: true + php_errors: + log: true + serializer: + enabled: true + translator: + enabled: false diff --git a/Tests/DependencyInjection/FrameworkExtensionTestCase.php b/Tests/DependencyInjection/FrameworkExtensionTestCase.php index 70e013292..7caaa77bf 100644 --- a/Tests/DependencyInjection/FrameworkExtensionTestCase.php +++ b/Tests/DependencyInjection/FrameworkExtensionTestCase.php @@ -1501,6 +1501,12 @@ public function testSerializerEnabled() $this->assertEquals($container->getDefinition('serializer.normalizer.object')->getArgument(6)['max_depth_handler'], new Reference('my.max.depth.handler')); } + public function testSerializerWithoutTranslator() + { + $container = $this->createContainerFromFile('serializer_without_translator'); + $this->assertFalse($container->hasDefinition('serializer.normalizer.translatable')); + } + public function testRegisterSerializerExtractor() { $container = $this->createContainerFromFile('full'); From ac22d760bf9ff4440a1b6c7caef34d38b44290aa Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Fri, 1 Dec 2023 17:35:22 +0100 Subject: [PATCH 3/3] [FrameworkBundle] Fix tests --- Tests/Functional/app/Serializer/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Tests/Functional/app/Serializer/config.yml b/Tests/Functional/app/Serializer/config.yml index 016e41291..e35d5fa28 100644 --- a/Tests/Functional/app/Serializer/config.yml +++ b/Tests/Functional/app/Serializer/config.yml @@ -3,6 +3,7 @@ imports: framework: http_method_override: false + translator: true serializer: enabled: true default_context: