我想移动我的所有方法从控制器,这是由AJAX请求执行,到单独的文件夹。例如,创建文件UserBundle/Ajax/Ajax.php
,并在此文件中放入所有AJAX请求方法。
这是正确的方法,分开ajax请求,从正常的http请求?我找不到任何例子来做这件事。这在Symfony中是可能的?我必须在这个Ajax.php
文件中扩展Symfony'Bundle'FrameworkBundle'Controller'Controller
?这将是好的,这将存在两个文件夹在包Ajax
和Controller
,包含控制器,但首先为ajax请求和第二为正常的http请求?
你知道这个问题的架构模式吗?
我认为这样做没有任何问题,只需要确保正确定义路由路径:
注释路由示例:
# app/config/routing.yml
app_bundle:
resource: "@AppBundle/Controller"
type: annotation
prefix: /
app_bundle_ajax:
resource: "@AppBundle/Ajax"
type: annotation
prefix: /
我必须扩展Symfony'Bundle'FrameworkBundle'Controller'Controller在这个Ajax.php文件?
这不是强制性的,但Symfony'Bundle'FrameworkBundle'Controller'Controller
为您提供了优秀的快捷方式,如$this->json(...);
自Symfony 3.1
你可以创建简单的AjaxController作为接收ajax请求的服务。然后你可以将每个请求重定向到不同的控制器,它们将返回jsonresponses()。