Symfony版本:3.4
我想知道我是否需要在编译器传递中自己实现优先级属性,或者它已经实现了?
主要是我正在尝试为其提供者之前加载的外部库“scheb / two-factor-bundle”注册服务提供者。 Compiler pass in question.
我正在尝试在标签上使用优先级属性,但似乎无法正常工作。
Symfony在findTaggedServiceIds
Symfony\Component\DependencyInjection\ContainerBuilder
时需要考虑的优先事项
更新
正如@fabian-papet所指出的,这是留给开发人员实现的。
在这种情况下,不要害怕symfony也有帮助。我找到了trait,在这种情况下Symfony\Component\DependencyInjection\CompilerPriorityTaggedServiceTrait
可以提供帮助。
感谢作者Iltar van der Berg。
答案 0 :(得分:0)
The is no such a feature integrated in Symfony to add priority to tags. This is a feature you'll have to implement.
Here's a summary of the findTaggedServiceIds
function:
<?php
function findTaggedServiceIds($name, $throwOnAbstract = false)
{
$this->usedTags[] = $name;
$tags = array();
foreach ($this->getDefinitions() as $id => $definition) {
if ($definition->hasTag($name)) {
$tags[$id] = $definition->getTag($name);
}
}
}