diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php index ae2250e3d44c..94d9e4566628 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php @@ -686,6 +686,7 @@ private function addSerializerSection(ArrayNodeDefinition $rootNode) ->booleanNode('enable_annotations')->{!class_exists(FullStack::class) && class_exists(Annotation::class) ? 'defaultTrue' : 'defaultFalse'}()->end() ->scalarNode('cache')->end() ->scalarNode('name_converter')->end() + ->scalarNode('circular_reference_handler')->end() ->end() ->end() ->end() diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php index 637d2b88c6fd..7266d82781cf 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php @@ -1294,6 +1294,10 @@ private function registerSerializerConfiguration(array $config, ContainerBuilder if (isset($config['name_converter']) && $config['name_converter']) { $container->getDefinition('serializer.normalizer.object')->replaceArgument(1, new Reference($config['name_converter'])); } + + if (isset($config['circular_reference_handler']) && $config['circular_reference_handler']) { + $container->getDefinition('serializer.normalizer.object')->addMethodCall('setCircularReferenceHandler', array(new Reference($config['circular_reference_handler']))); + } } /**