Skip to content

Commit 4446ece

Browse files
mathrocnicolas-grekas
authored andcommitted
[Serializer] register named normalizer & denormalizer aliases
1 parent 0deaa1e commit 4446ece

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

src/Symfony/Component/Serializer/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ CHANGELOG
55
---
66

77
* Deprecate the `CompiledClassMetadataFactory` and `CompiledClassMetadataCacheWarmer` classes
8+
* Register `NormalizerInterface` and `DenormalizerInterface` aliases for named serializers
89

910
7.2
1011
---

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
use Symfony\Component\DependencyInjection\Reference;
2020
use Symfony\Component\Serializer\Debug\TraceableEncoder;
2121
use Symfony\Component\Serializer\Debug\TraceableNormalizer;
22+
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
23+
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
2224
use Symfony\Component\Serializer\SerializerInterface;
2325

2426
/**
@@ -152,6 +154,8 @@ private function configureNamedSerializers(ContainerBuilder $container): void
152154

153155
$container->registerChild($serializerId, 'serializer');
154156
$container->registerAliasForArgument($serializerId, SerializerInterface::class, $serializerName.'.serializer');
157+
$container->registerAliasForArgument($serializerId, NormalizerInterface::class, $serializerName.'.normalizer');
158+
$container->registerAliasForArgument($serializerId, DenormalizerInterface::class, $serializerName.'.denormalizer');
155159

156160
$this->configureSerializer($container, $serializerId, $normalizers, $encoders, $serializerName);
157161

src/Symfony/Component/Serializer/Tests/DependencyInjection/SerializerPassTest.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
use Symfony\Component\Serializer\Debug\TraceableNormalizer;
2020
use Symfony\Component\Serializer\Debug\TraceableSerializer;
2121
use Symfony\Component\Serializer\DependencyInjection\SerializerPass;
22+
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
23+
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
2224
use Symfony\Component\Serializer\SerializerInterface;
2325

2426
/**
@@ -591,6 +593,8 @@ public function testNamedSerializersAreRegistered()
591593
$this->assertTrue($container->hasAlias(\sprintf('%s $apiSerializer', SerializerInterface::class)));
592594
$this->assertTrue($container->hasDefinition('serializer.api2'));
593595
$this->assertTrue($container->hasAlias(\sprintf('%s $api2Serializer', SerializerInterface::class)));
596+
$this->assertTrue($container->hasAlias(\sprintf('%s $api2Normalizer', NormalizerInterface::class)));
597+
$this->assertTrue($container->hasAlias(\sprintf('%s $api2Denormalizer', DenormalizerInterface::class)));
594598
}
595599

596600
public function testNormalizersAndEncodersAreDecoratedAndOrderedWhenCollectingDataForNamedSerializers()

0 commit comments

Comments
 (0)