我正在尝试从我的自定义组件中访问 CakeRequest 对象。但我不能。在食谱里面我发现了这个:
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);
}