Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 79e3915

Browse files
committed
[Serializer] Rearrange pass
1 parent ee63ef5 commit 79e3915

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

src/Symfony/Component/Serializer/DependencyInjection/SerializerPass.php

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,23 @@ public function process(ContainerBuilder $container): void
4747

4848
if ($container->hasParameter('serializer.default_context')) {
4949
$defaultContext = $container->getParameter('serializer.default_context');
50-
foreach (array_merge($normalizers, $encoders) as $service) {
51-
$definition = $container->getDefinition($service);
52-
$definition->setBindings(['array $defaultContext' => new BoundArgument($defaultContext, false)] + $definition->getBindings());
53-
}
54-
50+
$this->bindDefaultContext($container, array_merge($normalizers, $encoders), $defaultContext);
5551
$container->getParameterBag()->remove('serializer.default_context');
5652
}
5753

54+
$this->configureSerializer($container, 'serializer', $normalizers, $encoders);
55+
}
56+
57+
private function bindDefaultContext(ContainerBuilder $container, array $services, array $defaultContext): void
58+
{
59+
foreach ($services as $id) {
60+
$definition = $container->getDefinition((string) $id);
61+
$definition->setBindings(['array $defaultContext' => new BoundArgument($defaultContext, false)] + $definition->getBindings());
62+
}
63+
}
64+
65+
private function configureSerializer(ContainerBuilder $container, string $id, array $normalizers, array $encoders): void
66+
{
5867
if ($container->getParameter('kernel.debug') && $container->hasDefinition('serializer.data_collector')) {
5968
foreach ($normalizers as $i => $normalizer) {
6069
$normalizers[$i] = $container->register('.debug.serializer.normalizer.'.$normalizer, TraceableNormalizer::class)
@@ -67,7 +76,7 @@ public function process(ContainerBuilder $container): void
6776
}
6877
}
6978

70-
$serializerDefinition = $container->getDefinition('serializer');
79+
$serializerDefinition = $container->getDefinition($id);
7180
$serializerDefinition->replaceArgument(0, $normalizers);
7281
$serializerDefinition->replaceArgument(1, $encoders);
7382
}

0 commit comments

Comments
 (0)