Skip to content

Commit 4a4e93d

Browse files
committed
Merge branch '6.4' into 7.0
* 6.4: fix merge [VarDumper] Test intl formatter broken since dumper does not replace the nnbsp character by standard space [WebProfilerBundle] Fix intercept external redirects [Webhook] Added missing XML attribute in config XSD [String] Skip a test when an issue is detected in PCRE2 [ExpressionLanguage] Fix null coalescing propagation [Mailer] Stop using the (local) AWS shared configuration in the PHPUnit tests. detect colors on not windows fix xterm detection refactor: hyper check Missing translations for Slovak (sk) #51954 Remove redundant PHPdoc line properly handle SYMFONY_DOTENV_VARS being the empty string Avoid incompatibility with symfony/console 7 bug #45057 [Messenger] Avoid reconnecting active Redis connections. [HttpKernel] Catch `TypeError` if the wrong type is used in `BackedEnumValueResolver` [Serializer] fix regression where nullable int cannot be serialized do not overwrite an application's default serialization context
2 parents 21884a3 + dcbd023 commit 4a4e93d

File tree

5 files changed

+55
-8
lines changed

5 files changed

+55
-8
lines changed

DependencyInjection/FrameworkExtension.php

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1906,21 +1906,23 @@ private function registerSerializerConfiguration(array $config, ContainerBuilder
19061906
$container->getDefinition('serializer.name_converter.metadata_aware')->setArgument(1, new Reference($config['name_converter']));
19071907
}
19081908

1909+
$defaultContext = $config['default_context'] ?? [];
1910+
1911+
if ($defaultContext) {
1912+
$container->setParameter('serializer.default_context', $defaultContext);
1913+
}
1914+
19091915
if (isset($config['circular_reference_handler']) && $config['circular_reference_handler']) {
19101916
$arguments = $container->getDefinition('serializer.normalizer.object')->getArguments();
1911-
$context = ($arguments[6] ?? []) + ['circular_reference_handler' => new Reference($config['circular_reference_handler'])];
1917+
$context = ($arguments[6] ?? $defaultContext) + ['circular_reference_handler' => new Reference($config['circular_reference_handler'])];
19121918
$container->getDefinition('serializer.normalizer.object')->setArgument(5, null);
19131919
$container->getDefinition('serializer.normalizer.object')->setArgument(6, $context);
19141920
}
19151921

19161922
if ($config['max_depth_handler'] ?? false) {
1917-
$defaultContext = $container->getDefinition('serializer.normalizer.object')->getArgument(6);
1918-
$defaultContext += ['max_depth_handler' => new Reference($config['max_depth_handler'])];
1919-
$container->getDefinition('serializer.normalizer.object')->replaceArgument(6, $defaultContext);
1920-
}
1921-
1922-
if (isset($config['default_context']) && $config['default_context']) {
1923-
$container->setParameter('serializer.default_context', $config['default_context']);
1923+
$arguments = $container->getDefinition('serializer.normalizer.object')->getArguments();
1924+
$context = ($arguments[6] ?? $defaultContext) + ['max_depth_handler' => new Reference($config['max_depth_handler'])];
1925+
$container->getDefinition('serializer.normalizer.object')->setArgument(6, $context);
19241926
}
19251927
}
19261928

Resources/config/schema/symfony-1.0.xsd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -953,6 +953,7 @@
953953
<xsd:element name="service" type="xsd:string" minOccurs="0" maxOccurs="1" />
954954
<xsd:element name="secret" type="xsd:string" minOccurs="0" maxOccurs="1" />
955955
</xsd:sequence>
956+
<xsd:attribute name="type" type="xsd:string" use="required" />
956957
</xsd:complexType>
957958

958959
<xsd:complexType name="remote-event">
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Symfony package.
5+
*
6+
* (c) Fabien Potencier <fabien@symfony.com>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Bundle\FrameworkBundle\Tests\Fixtures\Serializer;
13+
14+
class CircularReferenceHandler
15+
{
16+
public function __invoke()
17+
{
18+
}
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Symfony package.
5+
*
6+
* (c) Fabien Potencier <fabien@symfony.com>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Bundle\FrameworkBundle\Tests\Fixtures\Serializer;
13+
14+
class MaxDepthHandler
15+
{
16+
public function __invoke()
17+
{
18+
}
19+
}

Tests/Functional/app/Serializer/config.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ framework:
66
translator: true
77
serializer:
88
enabled: true
9+
circular_reference_handler: Symfony\Bundle\FrameworkBundle\Tests\Fixtures\Serializer\CircularReferenceHandler
10+
max_depth_handler: Symfony\Bundle\FrameworkBundle\Tests\Fixtures\Serializer\MaxDepthHandler
911
default_context:
1012
enable_max_depth: true
1113
fake_context_option: foo
@@ -63,3 +65,7 @@ services:
6365
serializer.encoder.csv.alias:
6466
alias: serializer.encoder.csv
6567
public: true
68+
69+
Symfony\Bundle\FrameworkBundle\Tests\Fixtures\Serializer\CircularReferenceHandler: ~
70+
71+
Symfony\Bundle\FrameworkBundle\Tests\Fixtures\Serializer\MaxDepthHandler: ~

0 commit comments

Comments
 (0)