ОК. Я нашел ответ, в основном теги обрабатываются классами, которые реализуют CompilerPassInterface
Объекты прохода компилятора могут быть добавлены в файл bunlde (например: Symfony\Bundle\FrameworkBundle\FrameworkBundle
см. Метод build
)
У CompilerPass есть метод process
witch получает ContainerBuilder
в качестве аргумента.
ContainerBuilder имеет метод: findTaggedServiceIds
, ведьма может использоваться для получения идентификаторов помеченных сервисов и выполнения любых действий с ними.
Для передачи результатов другомуДля этого необходимо определить пустой аргумент коллекции, и с помощью ContainerBuilder заменить этот аргумент на найденные идентификаторы службы.
например: Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\FormPass