我已经厌倦了在Symfony2中的每个操作结束时写这段代码:
return $this->render('Project:Bundle:view.twig', array(
'foo' => 1,
'bar' => 2
));
我尝试在请求生命周期中的操作之后挂钩,以节省输入。我希望能够在控制器中进行类似的操作:
$this->params = array(
'foo' => 1,
'bar' => 2
);
一个监听器会将参数传递给渲染器,并使用操作名称自动检测模板。我意识到需要使用事件监听器来实现此目的,但我似乎无法在正确的时间钩入生命周期...
kernel.controller很好,因为我可以得到控制器,但在运行操作之前,所以$this->params不会被设置。 kernel.response是在操作已运行之后,但似乎我无法从这里访问控制器本身。
FYI - 我有Zend背景,这是我第一次使用Symfony2... 如果我以完全错误的方式解决这个问题,请大喊!