如何与编译器传递在捆绑

编辑本页

警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.3,现已不再维护。

本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。

如何与编译器传递在捆绑

编译器传递使您有机会操作已注册到服务容器的其他服务定义。你可以在组件部分阅读如何创建它们。编译容器".要注册一个来自bundle的编译器传递,你需要将它添加到bundle定义类的build方法中:

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/ / src / Acme / MailerBundle / AcmeMailerBundle.php名称空间AcmeMailerBundle使用ob娱乐下载组件HttpKernel使用ob娱乐下载组件DependencyInjectionContainerBuilder使用AcmeMailerBundleDependencyInjection编译器CustomCompilerPassAcmeMailerBundle扩展公共函数构建(ContainerBuilder容器::构建(容器);容器->addCompilerPass (CustomCompilerPass ());}}

编译器传递最常见的用例之一是使用带标签的服务(在组件一节中阅读更多关于标签的信息)。使用带标签的服务”)。如果你在一个bundle中使用自定义标记,那么按照惯例,标记名由bundle的名称(小写,下划线作为分隔符),然后是一个点,最后是“真实的”名称。例如,如果您想在AcmeMailerBundle中引入某种“传输”标记,您应该调用它acme_mailer.transport

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。