Php 没有视野的行动。需要模块吗?

Php 没有视野的行动。需要模块吗?,php,ajax,model-view-controller,view,symfony1,Php,Ajax,Model View Controller,View,Symfony1,我想执行一个不需要视图的操作。在本例中,这是一个“注销”函数,但这甚至可能是一个AJAX调用(例如,我只需要返回一个数字) 我应该添加一个模块吗?好吧,我宁愿做一个“平面”脚本作为一个动作,当它完成时重定向到索引页面。在这种情况下,这个平面脚本放在哪里?是的,您仍然希望为此创建一个模块(控制器) 出于若干原因: -如果您想更改行为,它已经在您的代码中。 -对于要操纵当前(sfUser)用户的注销操作,获取要启动symfony堆栈的实例,那么为什么不创建控制器呢。 -如果你开始为小动作创建各种小文

我想执行一个不需要视图的操作。在本例中,这是一个“注销”函数,但这甚至可能是一个AJAX调用(例如,我只需要返回一个数字)


我应该添加一个模块吗?好吧,我宁愿做一个“平面”脚本作为一个动作,当它完成时重定向到索引页面。在这种情况下,这个平面脚本放在哪里?

是的,您仍然希望为此创建一个模块(控制器)

出于若干原因: -如果您想更改行为,它已经在您的代码中。 -对于要操纵当前(
sfUser
)用户的注销操作,获取要启动symfony堆栈的实例,那么为什么不创建控制器呢。 -如果你开始为小动作创建各种小文件,这被认为是“坏习惯”,或者是“反MVC”

创建一个新模块有多难<代码>/symfony生成:模块前端用户

如果您没有视图,则始终可以转发/重定向请求。(在您的操作中:
$this->redirect('homepage');

或者,对于AJAX操作,您只能返回所需的数据:

if ($request->isXmlHttpRequest()) {
   // set correct header
   return $this->renderText(json_encode($data));
}