You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php
/* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */
namespace Symfony\Component\Translation\DependencyInjection;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Exception\RuntimeException; use Symfony\Component\DependencyInjection\Reference;
/** * Adds tagged translation.extractor services to translation extractor. */ class TranslationExtractorPass implements CompilerPassInterface { private $extractorServiceId; private $extractorTag;
public function __construct(string $extractorServiceId = 'translation.extractor', string $extractorTag = 'translation.extractor') { if (0 < \func_num_args()) { trigger_deprecation('symfony/translation', '5.3', 'Configuring "%s" is deprecated.', __CLASS__); }
$this->extractorServiceId = $extractorServiceId; $this->extractorTag = $extractorTag; }
public function process(ContainerBuilder $container) { if (!$container->hasDefinition($this->extractorServiceId)) { return; }
$definition = $container->getDefinition($this->extractorServiceId);
foreach ($container->findTaggedServiceIds($this->extractorTag, true) as $id => $attributes) { if (!isset($attributes[0]['alias'])) { throw new RuntimeException(sprintf('The alias for the tag "translation.extractor" of service "%s" must be set.', $id)); }
$definition->addMethodCall('addExtractor', [$attributes[0]['alias'], new Reference($id)]); } } }
|