Symfony2:在每个操作上调用控制器/文件


Symfony2: Call a Controller /File on EVERY action

我正在用Symfony2做一个大项目。前端是javascript/html5画布。对于站点更改,我使用 ajax 请求。

现在我想调用一个应该通过每个用户操作执行的 php 文件。有没有一种优雅的方法可以做到这一点?

为了更好地理解:我正在做某种游戏,如果发生了什么事(完成招聘,完成建筑物等),php会检查。

看看JMSAopBundle

如果您所说的用户操作是指执行控制器操作(即服务器端),我会做的是侦听 kernel.controller 事件: http://symfony.com/doc/current/book/internals.html

因此,您可以在调用目标控制器之前加载脚本并执行它

use Symfony'Component'HttpKernel'Event'FilterControllerEvent;
public function onKernelController(FilterControllerEvent $event)
{
    $controller = $event->getController();
    //...
    // call your php file here
    // the controller can be changed to any PHP callable
    $event->setController($controller);
}

我认为您甚至不需要修改控制器,因此您可以删除第一行和最后一行......