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

时间:2012-05-09 07:48:22

标签: php javascript service symfony controller

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

现在我想调用一个应该用每个用户操作执行的php文件。有优雅的方法吗?

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

2 个答案:

答案 0 :(得分:1)

查看JMSAopBundle

答案 1 :(得分:0)

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

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

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);
}

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