From 2bab3d7c9e38d965f04a4208f61d0ad6388735c3 Mon Sep 17 00:00:00 2001 From: cbeauvoi Date: Tue, 19 Feb 2019 18:10:36 +0100 Subject: [PATCH] somes updates --- .../AddValidatorInitializersPass.php | 66 ---------------------- DependencyInjection/Configuration.php | 24 ++++++++ DependencyInjection/ValidatorExtension.php | 34 +++++++++++ Ressources/config/services.yaml | 9 +-- src/ValidatorBundle.php => Services/Validator.php | 7 +-- ValidatorBundle.php | 22 ++++++++ composer.json | 2 +- 7 files changed, 88 insertions(+), 76 deletions(-) delete mode 100644 DependencyInjection/AddValidatorInitializersPass.php create mode 100644 DependencyInjection/Configuration.php create mode 100644 DependencyInjection/ValidatorExtension.php rename src/ValidatorBundle.php => Services/Validator.php (98%) create mode 100644 ValidatorBundle.php diff --git a/DependencyInjection/AddValidatorInitializersPass.php b/DependencyInjection/AddValidatorInitializersPass.php deleted file mode 100644 index 58cc93a..0000000 --- a/DependencyInjection/AddValidatorInitializersPass.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -namespace Symfony\Component\Validator\DependencyInjection; -use Symfony\Component\DependencyInjection\ChildDefinition; -use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Definition; -use Symfony\Component\DependencyInjection\Reference; -use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; -use Symfony\Component\Validator\Util\LegacyTranslatorProxy; -/** - * @author Fabien Potencier - * @author Robin Chalas - */ -class AddValidatorInitializersPass implements CompilerPassInterface -{ - private $builderService; - private $initializerTag; - - public function __construct(string $builderService = 'validator.builder', string $initializerTag = 'validator.initializer') - { - $this->builderService = $builderService; - $this->initializerTag = $initializerTag; - } - - public function process(ContainerBuilder $container) - { - if (!$container->hasDefinition($this->builderService)) { - return; - } - $initializers = []; - foreach ($container->findTaggedServiceIds($this->initializerTag, true) as $id => $attributes) { - $initializers[] = new Reference($id); - } - $container->getDefinition($this->builderService)->addMethodCall('addObjectInitializers', [$initializers]); - // @deprecated logic, to be removed in Symfony 5.0 - $builder = $container->getDefinition($this->builderService); - $calls = []; - foreach ($builder->getMethodCalls() as list($method, $arguments)) { - if ('setTranslator' === $method) { - if (!$arguments[0] instanceof Reference) { - $translator = $arguments[0]; - } elseif ($container->has($arguments[0])) { - $translator = $container->findDefinition($arguments[0]); - } else { - continue; - } - while (!($class = $translator->getClass()) && $translator instanceof ChildDefinition) { - $translator = $translator->getParent(); - } - if (!is_subclass_of($class, LegacyTranslatorInterface::class)) { - $arguments[0] = (new Definition(LegacyTranslatorProxy::class))->addArgument($arguments[0]); - } - } - $calls[] = [$method, $arguments]; - } - $builder->setMethodCalls($calls); - } -} diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php new file mode 100644 index 0000000..1b31c83 --- /dev/null +++ b/DependencyInjection/Configuration.php @@ -0,0 +1,24 @@ +root('validator'); + return ($treeBuilder); + } +} diff --git a/DependencyInjection/ValidatorExtension.php b/DependencyInjection/ValidatorExtension.php new file mode 100644 index 0000000..d17a1f2 --- /dev/null +++ b/DependencyInjection/ValidatorExtension.php @@ -0,0 +1,34 @@ +load('services.yaml'); + $configuration = $this->getConfiguration($configs, $container); + $config = $this->processConfiguration($configuration, $configs); + + return $config; + } + + public function getAlias() + { + return parent::getAlias(); // TODO: Change the autogenerated stub + } +} diff --git a/Ressources/config/services.yaml b/Ressources/config/services.yaml index 118830d..cd3ba03 100644 --- a/Ressources/config/services.yaml +++ b/Ressources/config/services.yaml @@ -1,6 +1,7 @@ services: - _default: + bluesquare.validator: + class: Bluesquare\ValidatorBundle\Services\Validator autowire: true - autoconfigure: true - public: false - tags: ['controller.service_arguments'] + public: true + arguments: ['@request_stack', '@translator.data_collector'] + Bluesquare\ValidatorBundle\Services\Validator: '@bluesquare.validator' diff --git a/src/ValidatorBundle.php b/Services/Validator.php similarity index 98% rename from src/ValidatorBundle.php rename to Services/Validator.php index e99218a..a2432fa 100644 --- a/src/ValidatorBundle.php +++ b/Services/Validator.php @@ -1,14 +1,11 @@ extension) + $this->extension = new ValidatorExtension(); + return $this->extension; + } +} diff --git a/composer.json b/composer.json index 3980cd7..9501e2e 100644 --- a/composer.json +++ b/composer.json @@ -15,7 +15,7 @@ }, "autoload": { "psr-4": { - "Bluesquare\\": "src/" + "Bluesquare\\": "/" } } }