Symfony2:在哪里为所有路由运行代码?

时间:2012-03-23 14:42:05

标签: symfony

我需要运行一些代码,例如,检测浏览器首选语言,并使用我的应用程序中的可用语言和其他类似的东西相应地设置语言环境。这段代码将存在于我自己的核心包中。

我想知道这种代码的最佳位置在哪里,让我们说一种必须在任何其他代码之前运行的控制器动作。

我想在app.phpapp_dev.php中对同一个文件进行包含是一个不好的解决方法,尤其是在Symfony升级时。

我目前在文档和网络上找不到任何答案。

2 个答案:

答案 0 :(得分:5)

event创建一个监听器。在大多数情况下,kernel.request是您需要倾听的。我将监听器类放入捆绑包的Listener命名空间。

答案 1 :(得分:0)

但要小心 - 根据Sf2文档(来自您的链接):

  

在处理请求期间的任何时间(“主”),都可以处理子请求。您可以将请求类型传递给handle()方法(第二个参数)......