From a6829bea0863b4b8702bd66db6dd56a23bdd4d48 Mon Sep 17 00:00:00 2001 From: Hugo Monteiro Date: Sat, 3 Jul 2021 16:41:30 +0100 Subject: [PATCH] [Serializer] Need to clear cache when updating Annotation Groups on Entities --- .../DependencyInjection/FrameworkExtension.php | 3 +++ .../Tests/DependencyInjection/FrameworkExtensionTest.php | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php index ccaa7fa8c3439..907b5ae8c94ba 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php @@ -1705,6 +1705,9 @@ private function registerSecurityCsrfConfiguration(array $config, ContainerBuild private function registerSerializerConfiguration(array $config, ContainerBuilder $container, PhpFileLoader $loader) { $loader->load('serializer.php'); + if ($container->getParameter('kernel.debug')) { + $container->removeDefinition('serializer.mapping.cache_class_metadata_factory'); + } $chainLoader = $container->getDefinition('serializer.mapping.chain_loader'); diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php index 02f8748c3d996..daa0bedfdcce3 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php @@ -1400,10 +1400,10 @@ public function testSerializerCacheActivated() $this->assertEquals(new Reference('serializer.mapping.cache.symfony'), $cache); } - public function testSerializerCacheActivatedDebug() + public function testSerializerCacheNotActivatedDebug() { $container = $this->createContainerFromFile('serializer_enabled', ['kernel.debug' => true, 'kernel.container_class' => __CLASS__]); - $this->assertTrue($container->hasDefinition('serializer.mapping.cache_class_metadata_factory')); + $this->assertFalse($container->hasDefinition('serializer.mapping.cache_class_metadata_factory')); } public function testSerializerMapping()