8000 #30998 Fix deprecated setCircularReferenceHandler call · symfony/symfony@3a68040 · GitHub
[go: up one dir, main page]

Skip to content

Commit 3a68040

Browse files
dhaarbrinknicolas-grekas
authored andcommitted
#30998 Fix deprecated setCircularReferenceHandler call
1 parent 9ee6fc1 commit 3a68040

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1398,7 +1398,10 @@ private function registerSerializerConfiguration(array $config, ContainerBuilder
13981398
}
13991399

14001400
if (isset($config['circular_reference_handler']) && $config['circular_reference_handler']) {
1401-
$container->getDefinition('serializer.normalizer.object')->addMethodCall('setCircularReferenceHandler', [new Reference($config['circular_reference_handler'])]);
1401+
$arguments = $container->getDefinition('serializer.normalizer.object')->getArguments();
1402+
$context = ($arguments[6] ?? []) + ['circular_reference_handler' => new Reference($config['circular_reference_handler'])];
1403+
$container->getDefinition('serializer.normalizer.object')->setArgument(5, null);
1404+
$container->getDefinition('serializer.normalizer.object')->setArgument(6, $context);
14021405
}
14031406

14041407
if ($config['max_depth_handler'] ?? false) {

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1066,8 +1066,8 @@ public function testSerializerEnabled()
10661066
$this->assertNull($container->getDefinition('serializer.mapping.class_metadata_factory')->getArgument(1));
10671067
$this->assertEquals(new Reference('serializer.name_converter.camel_case_to_snake_case'), $container->getDefinition('serializer.name_converter.metadata_aware')->getArgument(1));
10681068
$this->assertEquals(new Reference('property_info', ContainerBuilder::IGNORE_ON_INVALID_REFERENCE), $container->getDefinition('serializer.normalizer.object')->getArgument(3));
1069-
$this->assertEquals(['setCircularReferenceHandler', [new Reference('my.circular.reference.handler')]], $container->getDefinition('serializer.normalizer.object')->getMethodCalls()[0]);
1070-
$this->assertEquals(['setMaxDepthHandler', [new Reference('my.max.depth.handler')]], $container->getDefinition('serializer.normalizer.object')->getMethodCalls()[1]);
1069+
$this->assertArrayHasKey('circular_reference_handler', $container->getDefinition('serializer.normalizer.object')->getArgument(6));
1070+
$this->assertEquals(['setMaxDepthHandler', [new Reference('my.max.depth.handler')]], $container->getDefinition('serializer.normalizer.object')->getMethodCalls()[0]);
10711071
}
10721072

10731073
public function testRegisterSerializerExtractor()

0 commit comments

Comments
 (0)
2A6F
0