function AddConstraintValidatorsPass::process
Overrides CompilerPassInterface::process
File
-
vendor/
symfony/ validator/ DependencyInjection/ AddConstraintValidatorsPass.php, line 25
Class
- AddConstraintValidatorsPass
- @author Johannes M. Schmitt <schmittjoh@gmail.com> @author Robin Chalas <robin.chalas@gmail.com>
Namespace
Symfony\Component\Validator\DependencyInjectionCode
public function process(ContainerBuilder $container) : void {
if (!$container->hasDefinition('validator.validator_factory')) {
return;
}
$validators = [];
foreach ($container->findTaggedServiceIds('validator.constraint_validator', true) as $id => $attributes) {
$definition = $container->getDefinition($id);
if (isset($attributes[0]['alias'])) {
$validators[$attributes[0]['alias']] = new Reference($id);
}
$validators[$definition->getClass()] = new Reference($id);
}
$container->getDefinition('validator.validator_factory')
->replaceArgument(0, ServiceLocatorTagPass::register($container, $validators));
}