【发布时间】:2012-12-21 20:06:16
【问题描述】:
我正在尝试从我的自定义组件中访问 CakeRequest 对象。但我不能。在cookbook 里面我发现了这个:
CakeRequest 是 CakePHP 中使用的默认请求对象。它 集中了许多用于询问和交互的功能 带有请求数据。在每个请求上,都会创建一个 CakeRequest,然后 通过引用传递给使用的应用程序的各个层 请求数据。默认情况下,CakeRequest 被分配给 $this->request, 并且在 Controller、Views 和 Helpers 中可用。 您还可以访问 使用控制器引用在组件中。
控制器引用意味着什么?我尝试了以下。它有效。
但是如何在不将参数 this 传递给组件的情况下到达 CakeRequest 呢?
// MyController.php
public function foo(){
$this->MyUtil->bar($this);
}
// MyUtilComponent.php
function bar(&$controller) {
$a=$controller->request;
print_r($a);
}
【问题讨论】:
-
我认为“控制器引用”只是指从控制器访问它:
$this->params->someVar。至于如何不通过$this或许你需要和var $uses搞混?不知道 - 我发现 Cake 是一个很棒的框架,可以用来编写无法轻易重用的一次性代码。 -
这看起来对你来说可能是一本很好的读物:mark-story.com/posts/view/the-cakerequest-object-in-cakephp-2-0
-
您使用的是 PHP5。为什么要尝试通过引用传递对象?
标签: php cakephp cakephp-2.0