在哪里放置应该运行的代码并为每个路由设置一些变量?

时间:2012-09-06 13:41:13

标签: php symfony controller symfony-2.1

我想在每次调用URL或路由时运行一些会话处理代码,但我显然希望能够在我希望的任何控制器中访问该会话变量。假设这应该放在我的捆绑包的前端控制器中,我错了吗?

我尝试将一些变量放在...Bundle.php文件的根目录srcDefaultController.php中(我创建了一个构造函数)等等。什么都行不通。

如何为每条路线运行一些代码并设置一些变量?


注意:

  • 我是MVC和Symfony2的新手。
  • “每条路线”==我正在谈论的捆绑包中的每个控制器

2 个答案:

答案 0 :(得分:3)

我建议将其作为内核事件监听器实现,并将会话注入其中。

诠:

如果查看http://symfony.com/doc/current/cookbook/service_container/event_listener.html,您将看到如何注册事件监听器。

基本上,您使用此方法创建一个内核事件侦听器,该事件侦听器在每次系统启动时运行,并且还会注入会话(@session in yml)以执行您需要的操作。

答案 1 :(得分:0)