8000 [Serializer] Remove TranslatableNormalizer service when the Translato… · symfony/symfony@319a0fe · GitHub
[go: up one dir, main page]

Skip to content

Commit 319a0fe

Browse files
committed
[Serializer] Remove TranslatableNormalizer service when the Translator is disabled
1 parent 1a824c1 commit 319a0fe

File tree

5 files changed

+46
-1
lines changed

5 files changed

+46
-1
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1938,7 +1938,7 @@ private function registerSerializerConfiguration(array $config, ContainerBuilder
19381938
$container->removeDefinition('serializer.mapping.cache_class_metadata_factory');
19391939
}
19401940

1941-
if (!class_exists(Translator::class)) {
1941+
if (!$this->readConfigEnabled('translator', $container, $config)) {
19421942
$container->removeDefinition('serializer.normalizer.translatable');
19431943
}
19441944

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
$container->loadFromExtension('framework', [
4+
'annotations' => false,
5+
'http_method_override' => false,
6+
'handle_all_throwables' => true,
7+
'php_errors' => ['log' => true],
8+
'serializer' => [
9+
'enabled' => true,
10+
],
11+
'translator' => [
12+
'enabled' => false,
13+
],
14+
]);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" ?>
2+
3+
<container xmlns="http://symfony.com/schema/dic/services"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xmlns:framework="http://symfony.com/schema/dic/symfony"
6+
xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd
7+
http://symfony.com/schema/dic/symfony https://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
8+
9+
<framework:config secret="s3cr3t" http-method-override="false" handle-all-throwables="true">
10+
<framework:annotations enabled="false" />
11+
<framework:php-errors log="true" />
12+
<framework:serializer enabled="true" />
13+
<framework:translator enabled="false" />
14+
</framework:config>
15+
</container>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
framework:
2+
annotations: false
3+
http_method_override: false
4+
handle_all_throwables: true
5+
php_errors:
6+
log: true
7+
serializer:
8+
enabled: true
9+
translator:
10+
enabled: false

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1501,6 +1501,12 @@ public function testSerializerEnabled()
15011501
$this->assertEquals($container->getDefinition('serializer.normalizer.object')->getArgument(6)['max_depth_handler'], new Reference('my.max.depth.handler'));
15021502
}
15031503

1504+
public function testSerializerWithoutTranslator()
1505+
{
1506+
$container = $this->createContainerFromFile('serializer_without_translator');
1507+
$this->assertFalse($container->hasDefinition('serializer.normalizer.translatable'));
1508+
}
1509+
15041510
public function testRegisterSerializerExtractor()
15051511
{
15061512
$container = $this->createContainerFromFile('full');

0 commit comments

Comments
 (0)
0