Cakephp 2.4尝试在组件中使用CakerResponse

Cakephp 2.4尝试在组件中使用CakerResponse,cakephp,cakephp-2.4,Cakephp,Cakephp 2.4,我正试图使用CakerResponse从我的一个组件(App/Controller/Component)中的字符串创建和下载一个文件,但出现了此错误 Call to a member function body() on a non-object 使用下面的代码 $this->response->body("toto"); $this->response->download("titi.txt"); return $this->response; 如何从组件访问

我正试图使用CakerResponse从我的一个组件(App/Controller/Component)中的字符串创建和下载一个文件,但出现了此错误

Call to a member function body() on a non-object
使用下面的代码

$this->response->body("toto");
$this->response->download("titi.txt");
return $this->response;
如何从组件访问CakerResponse


谢谢你的帮助,对不起我的英语。

错误没有告诉你出了什么问题吗? 它清楚地表明,对象不能以这种方式使用

通常,您会尝试通过组件回调中的控制器对象访问它:

public function initialize(Controller $controller) {
    $controller->response->body(...);
    ...
}

如果在其他方法中需要它,可以将其传递到initialize()中的local属性并在以后重新使用:

$this->Controller = $controller;

这个错误没有告诉你出了什么问题吗? 它清楚地表明,对象不能以这种方式使用

通常,您会尝试通过组件回调中的控制器对象访问它:

public function initialize(Controller $controller) {
    $controller->response->body(...);
    ...
}

如果在其他方法中需要它,可以将其传递到initialize()中的local属性并在以后重新使用:

$this->Controller = $controller;

这个错误没有告诉你出了什么问题吗? 它清楚地表明,对象不能以这种方式使用

通常,您会尝试通过组件回调中的控制器对象访问它:

public function initialize(Controller $controller) {
    $controller->response->body(...);
    ...
}

如果在其他方法中需要它,可以将其传递到initialize()中的local属性并在以后重新使用:

$this->Controller = $controller;

这个错误没有告诉你出了什么问题吗? 它清楚地表明,对象不能以这种方式使用

通常,您会尝试通过组件回调中的控制器对象访问它:

public function initialize(Controller $controller) {
    $controller->response->body(...);
    ...
}

如果在其他方法中需要它,可以将其传递到initialize()中的local属性并在以后重新使用:

$this->Controller = $controller;

是的,我理解错误,我的问题更像是“如何在组件内访问CakerResponse”,对不起。现在错误消失了,谢谢你,但什么也没发生。我会更新我的问题。是的,我理解错误,我的问题更像是“如何在组件内访问CakerResponse”,对不起。现在错误消失了,谢谢你,但什么也没发生。我会更新我的问题。是的,我理解错误,我的问题更像是“如何在组件内访问CakerResponse”,对不起。现在错误消失了,谢谢你,但什么也没发生。我会更新我的问题。是的,我理解错误,我的问题更像是“如何在组件内访问CakerResponse”,对不起。现在错误消失了,谢谢你,但什么也没发生。我将更新我的问题。下载()——正如清楚记录的那样——只设置标题。然后,dispatcher周期结束时将发送它们,并以这种方式使响应准备好下载。您的编辑应该完全是另一个问题(并且只有在对问题进行彻底搜索和调试后才能发布)。如果您在上一个问题中添加“下载不起作用”,则必须编辑和/或删除mark的答案,因为它必须解决与原始问题几乎没有关系的另一个问题。download()-有明确的说明-只设置标题。然后,dispatcher周期结束时将发送它们,并以这种方式使响应准备好下载。您的编辑应该完全是另一个问题(并且只有在对问题进行彻底搜索和调试后才能发布)。如果您在上一个问题中添加“下载不起作用”,则必须编辑和/或删除mark的答案,因为它必须解决与原始问题几乎没有关系的另一个问题。download()-有明确的说明-只设置标题。然后,dispatcher周期结束时将发送它们,并以这种方式使响应准备好下载。您的编辑应该完全是另一个问题(并且只有在对问题进行彻底搜索和调试后才能发布)。如果您在上一个问题中添加“下载不起作用”,则必须编辑和/或删除mark的答案,因为它必须解决与原始问题几乎没有关系的另一个问题。download()-有明确的说明-只设置标题。然后,dispatcher周期结束时将发送它们,并以这种方式使响应准备好下载。您的编辑应该完全是另一个问题(并且只有在对问题进行彻底搜索和调试后才能发布)。如果你在上一个问题中添加了“下载不起作用”的问题,马克的答案将不得不被编辑和/或删除,因为它必须解决与原始问题几乎没有关系的另一个问题。