我想知道是否有办法在 Command 中找到标记的服务。
我有一个扩展的命令ContainerAwareCommand
,我可以访问容器,但我想获取由特定标签标记的所有服务。例如,我想要这样的东西:
$this->getContainer()->findTaggedServiceIds('smtp.transport')
我想知道是否有办法在 Command 中找到标记的服务。
我有一个扩展的命令ContainerAwareCommand
,我可以访问容器,但我想获取由特定标签标记的所有服务。例如,我想要这样的东西:
$this->getContainer()->findTaggedServiceIds('smtp.transport')
标记服务仅在依赖注入容器的构建时可用,而不是在运行时可用。因此,要获取具有特定标签的所有服务,您需要构建一个编译器通道,以保存这些服务的列表,然后您可以在您的命令中使用这些服务。这在本文档中都有描述:
http://symfony.com/doc/current/components/dependency_injection/tags.html