Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit065bf48

Browse files
committed
feature#22011 [FrameworkBundle][Serializer] Add option to register a circular_reference_handler (lyrixx)
This PR was merged into the 3.3-dev branch.Discussion----------[FrameworkBundle][Serializer] Add option to register a circular_reference_handler| Q | A| ------------- | ---| Branch? | master| Bug fix? | no| New feature? | yes| BC breaks? | no| Deprecations? | no| Tests pass? | yes| Fixed tickets | -| License | MIT| Doc PR | ----Right now, it's quite hard (especially for new comers) to register a CircularReferenceHandler:![screenshot1](https://cloud.githubusercontent.com/assets/408368/23959193/ce19bcec-09a4-11e7-82c7-80abd7b7f602.png)---This PR introduce an option to wire a service to the internal Object Normalizer.Commits-------0a638f5 [FrameworkBundle][Serializer] Add option to register a "circular_reference_handler"
2 parents7b60064 +0a638f5 commit065bf48

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,7 @@ private function addSerializerSection(ArrayNodeDefinition $rootNode)
686686
->booleanNode('enable_annotations')->{!class_exists(FullStack::class) &&class_exists(Annotation::class) ?'defaultTrue' :'defaultFalse'}()->end()
687687
->scalarNode('cache')->end()
688688
->scalarNode('name_converter')->end()
689+
->scalarNode('circular_reference_handler')->end()
689690
->end()
690691
->end()
691692
->end()

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1294,6 +1294,10 @@ private function registerSerializerConfiguration(array $config, ContainerBuilder
12941294
if (isset($config['name_converter']) &&$config['name_converter']) {
12951295
$container->getDefinition('serializer.normalizer.object')->replaceArgument(1,newReference($config['name_converter']));
12961296
}
1297+
1298+
if (isset($config['circular_reference_handler']) &&$config['circular_reference_handler']) {
1299+
$container->getDefinition('serializer.normalizer.object')->addMethodCall('setCircularReferenceHandler',array(newReference($config['circular_reference_handler'])));
1300+
}
12971301
}
12981302

12991303
/**

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp