如何使用编译器通过包

编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.7,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。

如何使用编译器通过包

编译器传递给你一个机会来操作其他已注册的服务定义服务容器。你可以阅读关于如何创建组件部分”编译的容器”。注册一个编译器从一个包你需要将它添加到构建包定义类的方法:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/ / src / Acme / MailerBundle / AcmeMailerBundle.php名称空间Acme\MailerBundle;使用欧宝娱乐app下载地址\组件\HttpKernel\\;使用欧宝娱乐app下载地址\组件\DependencyInjection\ContainerBuilder;使用Acme\MailerBundle\DependencyInjection\编译器\CustomCompilerPass;AcmeMailerBundle扩展{公共函数构建(ContainerBuilder美元容器){::构建(美元容器);美元容器- >addCompilerPass (CustomCompilerPass ());}}

编译器的一个最常见的用例是使用标记服务(阅读更多关于标签”如何使用服务标签”)。如果您正在使用自定义标记的包然后按照惯例,标记名称包含包的名称(小写字母,下划线分隔符),紧随其后的是一个点,最后“真实”的名字。例如,如果你想介绍一些AcmeMailerBundle“运输”标签,你应该叫它acme_mailer.transport

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。