From c053db5553bb5da23091fc2e25aafc4ef4313fb3 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Fri, 11 Sep 2020 07:57:42 +0200 Subject: [PATCH] Move form error normalizer to the Serializer component --- .../Bundle/FrameworkBundle/Resources/config/form.php | 4 ---- .../Bundle/FrameworkBundle/Resources/config/serializer.php | 4 ++++ .../Tests/DependencyInjection/FrameworkExtensionTest.php | 4 ++-- src/Symfony/Component/Form/CHANGELOG.md | 1 - src/Symfony/Component/Form/composer.json | 1 - src/Symfony/Component/Serializer/CHANGELOG.md | 6 ++++-- .../Normalizer}/FormErrorNormalizer.php | 4 +--- .../Tests/Normalizer}/FormErrorNormalizerTest.php | 4 ++-- src/Symfony/Component/Serializer/composer.json | 1 + 9 files changed, 14 insertions(+), 15 deletions(-) rename src/Symfony/Component/{Form/Serializer => Serializer/Normalizer}/FormErrorNormalizer.php (92%) rename src/Symfony/Component/{Form/Tests/Serializer => Serializer/Tests/Normalizer}/FormErrorNormalizerTest.php (97%) diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.php b/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.php index 04f118f9b3..51c6ae38f2 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.php @@ -34,7 +34,6 @@ use Symfony\Component\Form\FormRegistry; use Symfony\Component\Form\FormRegistryInterface; use Symfony\Component\Form\ResolvedFormTypeFactory; use Symfony\Component\Form\ResolvedFormTypeFactoryInterface; -use Symfony\Component\Form\Serializer\FormErrorNormalizer; use Symfony\Component\Form\Util\ServerParams; return static function (ContainerConfigurator $container) { @@ -146,8 +145,5 @@ return static function (ContainerConfigurator $container) { param('validator.translation_domain'), ]) ->tag('form.type_extension') - - ->set('form.serializer.normalizer.form_error', FormErrorNormalizer::class) - ->tag('serializer.normalizer', ['priority' => -915]) ; }; diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/serializer.php b/src/Symfony/Bundle/FrameworkBundle/Resources/config/serializer.php index 5f02d765f9..98f4025788 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/serializer.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/serializer.php @@ -38,6 +38,7 @@ use Symfony\Component\Serializer\Normalizer\DateIntervalNormalizer; use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer; use Symfony\Component\Serializer\Normalizer\DateTimeZoneNormalizer; use Symfony\Component\Serializer\Normalizer\DenormalizerInterface; +use Symfony\Component\Serializer\Normalizer\FormErrorNormalizer; use Symfony\Component\Serializer\Normalizer\JsonSerializableNormalizer; use Symfony\Component\Serializer\Normalizer\MimeMessageNormalizer; use Symfony\Component\Serializer\Normalizer\NormalizerInterface; @@ -110,6 +111,9 @@ return static function (ContainerConfigurator $container) { ->set('serializer.normalizer.uid', UidNormalizer::class) ->tag('serializer.normalizer', ['priority' => -915]) + ->set('serializer.normalizer.form_error', FormErrorNormalizer::class) + ->tag('serializer.normalizer', ['priority' => -915]) + ->set('serializer.normalizer.object', ObjectNormalizer::class) ->args([ service('serializer.mapping.class_metadata_factory'), diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php index 746fe1f2a1..fb02dc5210 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php @@ -40,7 +40,6 @@ use Symfony\Component\DependencyInjection\Loader\ClosureLoader; use Symfony\Component\DependencyInjection\ParameterBag\EnvPlaceholderParameterBag; use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\EventDispatcher\EventDispatcherInterface; -use Symfony\Component\Form\Serializer\FormErrorNormalizer; use Symfony\Component\HttpClient\MockHttpClient; use Symfony\Component\HttpClient\ScopingHttpClient; use Symfony\Component\HttpKernel\DependencyInjection\LoggerPass; @@ -53,6 +52,7 @@ use Symfony\Component\Serializer\Normalizer\ConstraintViolationListNormalizer; use Symfony\Component\Serializer\Normalizer\DataUriNormalizer; use Symfony\Component\Serializer\Normalizer\DateIntervalNormalizer; use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer; +use Symfony\Component\Serializer\Normalizer\FormErrorNormalizer; use Symfony\Component\Serializer\Normalizer\JsonSerializableNormalizer; use Symfony\Component\Serializer\Serializer; use Symfony\Component\Translation\DependencyInjection\TranslatorPass; @@ -1159,7 +1159,7 @@ abstract class FrameworkExtensionTest extends TestCase { $container = $this->createContainerFromFile('full'); - $definition = $container->getDefinition('form.serializer.normalizer.form_error'); + $definition = $container->getDefinition('serializer.normalizer.form_error'); $tag = $definition->getTag('serializer.normalizer'); $this->assertEquals(FormErrorNormalizer::class, $definition->getClass()); diff --git a/src/Symfony/Component/Form/CHANGELOG.md b/src/Symfony/Component/Form/CHANGELOG.md index 4ea9e689da..7b30716787 100644 --- a/src/Symfony/Component/Form/CHANGELOG.md +++ b/src/Symfony/Component/Form/CHANGELOG.md @@ -4,7 +4,6 @@ CHANGELOG 5.2.0 ----- - * added `FormErrorNormalizer` * Added support for using the `{{ label }}` placeholder in constraint messages, which is replaced in the `ViolationMapper` by the corresponding field form label. 5.1.0 diff --git a/src/Symfony/Component/Form/composer.json b/src/Symfony/Component/Form/composer.json index 4cc57f83e4..1f37f7b7ca 100644 --- a/src/Symfony/Component/Form/composer.json +++ b/src/Symfony/Component/Form/composer.json @@ -37,7 +37,6 @@ "symfony/http-foundation": "^4.4|^5.0", "symfony/http-kernel": "^4.4|^5.0", "symfony/security-csrf": "^4.4|^5.0", - "symfony/serializer": "^4.4|^5.0", "symfony/translation": "^4.4|^5.0", "symfony/var-dumper": "^4.4|^5.0" }, diff --git a/src/Symfony/Component/Serializer/CHANGELOG.md b/src/Symfony/Component/Serializer/CHANGELOG.md index e5915f7af9..0fc8fd2c68 100644 --- a/src/Symfony/Component/Serializer/CHANGELOG.md +++ b/src/Symfony/Component/Serializer/CHANGELOG.md @@ -4,8 +4,10 @@ CHANGELOG 5.2.0 ----- -* added `CompiledClassMetadataFactory` and `ClassMetadataFactoryCompiler` for faster metadata loading. -* added `UidNormalizer` + * added `CompiledClassMetadataFactory` and `ClassMetadataFactoryCompiler` for faster metadata loading. + * added `UidNormalizer` + * added `FormErrorNormalizer` + * added `MimeMessageNormalizer` 5.1.0 ----- diff --git a/src/Symfony/Component/Form/Serializer/FormErrorNormalizer.php b/src/Symfony/Component/Serializer/Normalizer/FormErrorNormalizer.php similarity index 92% rename from src/Symfony/Component/Form/Serializer/FormErrorNormalizer.php rename to src/Symfony/Component/Serializer/Normalizer/FormErrorNormalizer.php index 3f57dd6779..e05791c3fc 100644 --- a/src/Symfony/Component/Form/Serializer/FormErrorNormalizer.php +++ b/src/Symfony/Component/Serializer/Normalizer/FormErrorNormalizer.php @@ -9,11 +9,9 @@ * file that was distributed with this source code. */ -namespace Symfony\Component\Form\Serializer; +namespace Symfony\Component\Serializer\Normalizer; use Symfony\Component\Form\FormInterface; -use Symfony\Component\Serializer\Normalizer\CacheableSupportsMethodInterface; -use Symfony\Component\Serializer\Normalizer\NormalizerInterface; /** * Normalizes invalid Form instances. diff --git a/src/Symfony/Component/Form/Tests/Serializer/FormErrorNormalizerTest.php b/src/Symfony/Component/Serializer/Tests/Normalizer/FormErrorNormalizerTest.php similarity index 97% rename from src/Symfony/Component/Form/Tests/Serializer/FormErrorNormalizerTest.php rename to src/Symfony/Component/Serializer/Tests/Normalizer/FormErrorNormalizerTest.php index 45886d82c1..a368006aa1 100644 --- a/src/Symfony/Component/Form/Tests/Serializer/FormErrorNormalizerTest.php +++ b/src/Symfony/Component/Serializer/Tests/Normalizer/FormErrorNormalizerTest.php @@ -9,13 +9,13 @@ * file that was distributed with this source code. */ -namespace Symfony\Component\Form\Tests\Serializer; +namespace Symfony\Component\Serializer\Tests\Normalizer; use PHPUnit\Framework\TestCase; use Symfony\Component\Form\FormError; use Symfony\Component\Form\FormErrorIterator; use Symfony\Component\Form\FormInterface; -use Symfony\Component\Form\Serializer\FormErrorNormalizer; +use Symfony\Component\Serializer\Normalizer\FormErrorNormalizer; class FormErrorNormalizerTest extends TestCase { diff --git a/src/Symfony/Component/Serializer/composer.json b/src/Symfony/Component/Serializer/composer.json index feeadc6cfa..62cd6723ba 100644 --- a/src/Symfony/Component/Serializer/composer.json +++ b/src/Symfony/Component/Serializer/composer.json @@ -29,6 +29,7 @@ "symfony/dependency-injection": "^4.4|^5.0", "symfony/error-handler": "^4.4|^5.0", "symfony/filesystem": "^4.4|^5.0", + "symfony/form": "^4.4|^5.0", "symfony/http-foundation": "^4.4|^5.0", "symfony/http-kernel": "^4.4|^5.0", "symfony/mime": "^4.4|^5.0",