Php Symfony2放置类的首选目录
我是Symfony2的新手,我只是想知道做这件事的首选方法是什么 我有很多管理动作,包括接收表单数据和处理表单数据。当然,当处理完成时,控制器操作发送Php Symfony2放置类的首选目录,php,ajax,symfony,Php,Ajax,Symfony,我是Symfony2的新手,我只是想知道做这件事的首选方法是什么 我有很多管理动作,包括接收表单数据和处理表单数据。当然,当处理完成时,控制器操作发送return$this->redirect($this->generateUrl(“…”) 现在,由于我制作了一个JavaScript,如果浏览器支持它,它可以通过ajax提交表单,所以我需要修改我的控制器操作,以返回包含json数组的Response对象,但前提是请求是通过ajax发送的 是否可以识别发送到控制器的请求是否是AJAX请求 其中目录
return$this->redirect($this->generateUrl(“…”)代码>
现在,由于我制作了一个JavaScript,如果浏览器支持它,它可以通过ajax提交表单,所以我需要修改我的控制器操作,以返回包含json数组的Response
对象,但前提是请求是通过ajax发送的
是否可以识别发送到控制器的请求是否是AJAX请求
其中目录树中是名为ResponseHandler
的首选位置到位置类,它将根据请求类型重定向或返回json数组?我意识到Symfony2对这些事情非常严格,所以我想从一开始就做好。也许已经有了捆绑解决方案
更新
我发现我可以在控制器中使用$this->getRequest->isXmlHttpRequest()
问题2仍然存在
目录树中的哪个位置是名为ResponseHandler的首选位置对位置类,它将根据请求类型重定向或返回json数组
如果执行AJAX请求,则将数据存储在参数、POST或GET参数中。您可以通过以下方式在控制器中访问此参数:
/。。。
公共函数finishAction()
{
//如果您使用GET请求
$data=$this->getRequest->query->get('my-get-parameter');
//如果你使用POST请求
$data=$this->getRequest->request->get('my-get-parameter');
//…对数据做些什么
}
但是要回答您的问题:
symfony核心框架使用事件调度器组件来触发和附加事件。这些事件在Symfony代码中的任何位置都会触发。您可以将类附加到事件,并在触发该事件时对其进行更改。这样,就可以修改响应
对象
代码中抛出的事件可以在该组件的*Events
类中找到。在这种情况下,我们需要事件。阅读文档中有关事件调度器以及如何附加事件的更多信息:和
我意识到Symfony2对这些事情非常严格
Symfony对您的目录结构并不严格。它提供了一个带有推荐结构的默认标准版本,但您可以更改它使其成为您的。如果一个类是用PSR-0标准编写的,symfony将加载您需要的所有类