Skip to content

Commit dcbd023

Browse files
committed
Merge branch '6.3' into 6.4
* 6.3: 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 d61db2b + 15620fc commit dcbd023

File tree

6 files changed

+56
-9
lines changed

6 files changed

+56
-9
lines changed

DependencyInjection/FrameworkExtension.php

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

1993+
$defaultContext = $config['default_context'] ?? [];
1994+
1995+
if ($defaultContext) {
1996+
$container->setParameter('serializer.default_context', $defaultContext);
1997+
}
1998+
19931999
if (isset($config['circular_reference_handler']) && $config['circular_reference_handler']) {
19942000
$arguments = $container->getDefinition('serializer.normalizer.object')->getArguments();
1995-
$context = ($arguments[6] ?? []) + ['circular_reference_handler' => new Reference($config['circular_reference_handler'])];
2001+
$context = ($arguments[6] ?? $defaultContext) + ['circular_reference_handler' => new Reference($config['circular_reference_handler'])];
19962002
$container->getDefinition('serializer.normalizer.object')->setArgument(5, null);
19972003
$container->getDefinition('serializer.normalizer.object')->setArgument(6, $context);
19982004
}
19992005

20002006
if ($config['max_depth_handler'] ?? false) {
2001-
$defaultContext = $container->getDefinition('serializer.normalizer.object')->getArgument(6);
2002-
$defaultContext += ['max_depth_handler' => new Reference($config['max_depth_handler'])];
2003-
$container->getDefinition('serializer.normalizer.object')->replaceArgument(6, $defaultContext);
2004-
}
2005-
2006-
if (isset($config['default_context']) && $config['default_context']) {
2007-
$container->setParameter('serializer.default_context', $config['default_context']);
2007+
$arguments = $container->getDefinition('serializer.normalizer.object')->getArguments();
2008+
$context = ($arguments[6] ?? $defaultContext) + ['max_depth_handler' => new Reference($config['max_depth_handler'])];
2009+
$container->getDefinition('serializer.normalizer.object')->setArgument(6, $context);
20082010
}
20092011
}
20102012

Resources/config/schema/symfony-1.0.xsd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -979,6 +979,7 @@
979979
<xsd:element name="service" type="xsd:string" minOccurs="0" maxOccurs="1" />
980980
<xsd:element name="secret" type="xsd:string" minOccurs="0" maxOccurs="1" />
981981
</xsd:sequence>
982+
<xsd:attribute name="type" type="xsd:string" use="required" />
982983
</xsd:complexType>
983984

984985
<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: ~

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
"symfony/asset": "<5.4",
8383
"symfony/asset-mapper": "<6.4",
8484
"symfony/clock": "<6.3",
85-
"symfony/console": "<5.4",
85+
"symfony/console": "<5.4|>=7.0",
8686
"symfony/dotenv": "<5.4",
8787
"symfony/dom-crawler": "<6.4",
8888
"symfony/http-client": "<6.3",

0 commit comments

Comments
 (0)