Mercurial > hg > isophonics-drupal-site
annotate vendor/symfony/validator/DependencyInjection/AddValidatorInitializersPass.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | 129ea1e6d783 |
children |
rev | line source |
---|---|
Chris@14 | 1 <?php |
Chris@14 | 2 |
Chris@14 | 3 /* |
Chris@14 | 4 * This file is part of the Symfony package. |
Chris@14 | 5 * |
Chris@14 | 6 * (c) Fabien Potencier <fabien@symfony.com> |
Chris@14 | 7 * |
Chris@14 | 8 * For the full copyright and license information, please view the LICENSE |
Chris@14 | 9 * file that was distributed with this source code. |
Chris@14 | 10 */ |
Chris@14 | 11 |
Chris@14 | 12 namespace Symfony\Component\Validator\DependencyInjection; |
Chris@14 | 13 |
Chris@17 | 14 use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; |
Chris@14 | 15 use Symfony\Component\DependencyInjection\ContainerBuilder; |
Chris@14 | 16 use Symfony\Component\DependencyInjection\Reference; |
Chris@14 | 17 |
Chris@14 | 18 /** |
Chris@14 | 19 * @author Fabien Potencier <fabien@symfony.com> |
Chris@14 | 20 * @author Robin Chalas <robin.chalas@gmail.com> |
Chris@14 | 21 */ |
Chris@14 | 22 class AddValidatorInitializersPass implements CompilerPassInterface |
Chris@14 | 23 { |
Chris@14 | 24 private $builderService; |
Chris@14 | 25 private $initializerTag; |
Chris@14 | 26 |
Chris@14 | 27 public function __construct($builderService = 'validator.builder', $initializerTag = 'validator.initializer') |
Chris@14 | 28 { |
Chris@14 | 29 $this->builderService = $builderService; |
Chris@14 | 30 $this->initializerTag = $initializerTag; |
Chris@14 | 31 } |
Chris@14 | 32 |
Chris@14 | 33 public function process(ContainerBuilder $container) |
Chris@14 | 34 { |
Chris@14 | 35 if (!$container->hasDefinition($this->builderService)) { |
Chris@14 | 36 return; |
Chris@14 | 37 } |
Chris@14 | 38 |
Chris@17 | 39 $initializers = []; |
Chris@14 | 40 foreach ($container->findTaggedServiceIds($this->initializerTag, true) as $id => $attributes) { |
Chris@14 | 41 $initializers[] = new Reference($id); |
Chris@14 | 42 } |
Chris@14 | 43 |
Chris@17 | 44 $container->getDefinition($this->builderService)->addMethodCall('addObjectInitializers', [$initializers]); |
Chris@14 | 45 } |
Chris@14 | 46 } |