From 2dc92d7a4bfa1563fde0a3e5a90d241662069514 Mon Sep 17 00:00:00 2001 From: Samuel ROZE Date: Wed, 19 Sep 2018 19:19:15 +0100 Subject: [PATCH] Allow validator without the translator --- .../AddValidatorInitializersPass.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Validator/DependencyInjection/AddValidatorInitializersPass.php b/src/Symfony/Component/Validator/DependencyInjection/AddValidatorInitializersPass.php index 6021906cb18c8..4539e27bd3adf 100644 --- a/src/Symfony/Component/Validator/DependencyInjection/AddValidatorInitializersPass.php +++ b/src/Symfony/Component/Validator/DependencyInjection/AddValidatorInitializersPass.php @@ -49,11 +49,17 @@ public function process(ContainerBuilder $container) // @deprecated logic, to be removed in Symfony 5.0 $builder = $container->getDefinition($this->builderService); - $calls = []; + $calls = array(); foreach ($builder->getMethodCalls() as list($method, $arguments)) { if ('setTranslator' === $method) { - $translator = $arguments[0] instanceof Reference ? $container->findDefinition($arguments[0]) : $arguments[0]; + 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();