Php Symfony2:在每次操作时调用控制器/文件
我正在和Symfony2做一个大项目。前端是javascript/html5画布。对于站点更改,我使用ajax请求 现在我想调用一个php文件,每个用户操作都应该执行该文件。有没有一种优雅的方式可以做到这一点Php Symfony2:在每次操作时调用控制器/文件,php,javascript,service,symfony,controller,Php,Javascript,Service,Symfony,Controller,我正在和Symfony2做一个大项目。前端是javascript/html5画布。对于站点更改,我使用ajax请求 现在我想调用一个php文件,每个用户操作都应该执行该文件。有没有一种优雅的方式可以做到这一点 为了更好地理解:我正在做一些游戏,php会检查是否发生了什么事情(招聘完成、建筑完工等)。查看一下如果用户操作指的是执行控制器操作(即服务器端),我要做的是监听内核。控制器事件: 因此,您可以加载脚本并在调用目标控制器之前执行它 use Symfony\Component\HttpKern
为了更好地理解:我正在做一些游戏,php会检查是否发生了什么事情(招聘完成、建筑完工等)。查看一下如果用户操作指的是执行控制器操作(即服务器端),我要做的是监听内核。控制器事件: 因此,您可以加载脚本并在调用目标控制器之前执行它
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);
}
我认为您甚至不需要修改控制器以便删除第一行和最后一行…如果用户操作指的是执行控制器操作(即服务器端),那么我要做的就是侦听kernel.controller事件: 因此,您可以加载脚本并在调用目标控制器之前执行它
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);
}
我认为您甚至不需要修改控制器,就可以删除第一行和最后一行…谢谢您的提示,但是有没有不使用额外捆绑包的其他解决方案?如果您的代码不依赖于控制器操作,那么您可以为
内核创建事件侦听器。请求或内核。响应事件并在那里执行代码。感谢您的提示,但是有没有不使用额外捆绑包的其他解决方案?如果您的代码不依赖于控制器操作,那么您可以为内核。请求或内核。响应事件创建一个事件侦听器,并在那里执行代码。在@mdrollete这里有此方法的更详细描述。您的URL不是404已找到
。在@mdrollete这里有此方法的更详细描述。您的URL是404未找到
。