如何在启动 Symfony2 内核后执行 bundle 中的某些代码?
- 代码必须在处理请求或运行控制台命令之前运行。
- 代码必须执行一次,即使内核在其生命周期内处理多个请求也是如此。
- 代码必须能够访问包配置。因此,它可能不会在流程的早期运行。
我需要这个的原因是我需要注册一个流包装器。我需要能够使用捆绑配置,因为流包装器定义是在配置中定义的。
我尝试了以下方法:
- 实现捆绑类的构造函数。 (这是行不通的,此时并不是所有的包都被初始化)
- 为
kernel.request
和console.command
创建事件监听器(当内核在其生命周期内处理多个请求时,这将导致代码被执行多次。)
最佳答案
您可以覆盖包的 boot
方法。
class MyBundle extends Bundle
{
public function boot()
{
}
}
关于php - 在 Symfony 内核初始化上运行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30528792/