如何与编译器传递在捆绑
编辑本页警告:您正在浏览的文档欧宝官网下载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名称空间Acme\MailerBundle;使用ob娱乐下载\组件\HttpKernel\包\包;使用ob娱乐下载\组件\DependencyInjection\ContainerBuilder;使用Acme\MailerBundle\DependencyInjection\编译器\CustomCompilerPass;类AcmeMailerBundle扩展包{公共函数构建(ContainerBuilder$容器){父::构建($容器);$容器->addCompilerPass (新CustomCompilerPass ());}}
编译器传递最常见的用例之一是使用带标签的服务(在组件一节中阅读更多关于标签的信息)。使用带标签的服务”)。如果你在一个bundle中使用自定义标记,那么按照惯例,标记名由bundle的名称(小写,下划线作为分隔符),然后是一个点,最后是“真实的”名称。例如,如果您想在AcmeMailerBundle中引入某种“传输”标记,您应该调用它acme_mailer.transport
.
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。