[FrameworkBundle][Serializer] Add option to register a "circular_reference_handler"

This commit is contained in:
Grégoire Pineau 2017-03-15 17:25:41 +01:00
parent 2a99e161d1
commit 0a638f5352
2 changed files with 5 additions and 0 deletions

View File

@ -686,6 +686,7 @@ class Configuration implements ConfigurationInterface
->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()

View File

@ -1281,6 +1281,10 @@ class FrameworkExtension extends Extension
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'])));
}
}
/**