[ Index ]

PHP Cross Reference of phpBB-3.3.14-deutsch

title

Body

[close]

/vendor/symfony/routing/DependencyInjection/ -> RoutingResolverPass.php (source)

   1  <?php
   2  
   3  /*
   4   * This file is part of the Symfony package.
   5   *
   6   * (c) Fabien Potencier <fabien@symfony.com>
   7   *
   8   * For the full copyright and license information, please view the LICENSE
   9   * file that was distributed with this source code.
  10   */
  11  
  12  namespace Symfony\Component\Routing\DependencyInjection;
  13  
  14  use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
  15  use Symfony\Component\DependencyInjection\Compiler\PriorityTaggedServiceTrait;
  16  use Symfony\Component\DependencyInjection\ContainerBuilder;
  17  use Symfony\Component\DependencyInjection\Reference;
  18  
  19  /**
  20   * Adds tagged routing.loader services to routing.resolver service.
  21   *
  22   * @author Fabien Potencier <fabien@symfony.com>
  23   */
  24  class RoutingResolverPass implements CompilerPassInterface
  25  {
  26      use PriorityTaggedServiceTrait;
  27  
  28      private $resolverServiceId;
  29      private $loaderTag;
  30  
  31      public function __construct($resolverServiceId = 'routing.resolver', $loaderTag = 'routing.loader')
  32      {
  33          $this->resolverServiceId = $resolverServiceId;
  34          $this->loaderTag = $loaderTag;
  35      }
  36  
  37      public function process(ContainerBuilder $container)
  38      {
  39          if (false === $container->hasDefinition($this->resolverServiceId)) {
  40              return;
  41          }
  42  
  43          $definition = $container->getDefinition($this->resolverServiceId);
  44  
  45          foreach ($this->findAndSortTaggedServices($this->loaderTag, $container) as $id) {
  46              $definition->addMethodCall('addLoader', [new Reference($id)]);
  47          }
  48      }
  49  }


Generated: Mon Nov 25 19:05:08 2024 Cross-referenced by PHPXref 0.7.1