tra*_*nte 4 php cakephp cakephp-2.0
我正试图从我的自定义组件到达CakeRequest对象.但我不能.在里面的食谱我发现了这个:
CakeRequest是CakePHP中使用的默认请求对象.它集中了许多用于询问和与请求数据交互的功能.在每个请求上创建一个CakeRequest,然后通过引用传递给使用请求数据的应用程序的各个层.默认情况下,CakeRequest被分配给$ this-> request,并且在Controller,Views和Helpers中可用.您还可以使用控制器参考在组件中访问它.
控制器参考意味着什么?我尝试了以下内容.有用.
但我怎么能达到CakeRequest没有传递参数这对组件?
// MyController.php
public function foo(){
$this->MyUtil->bar($this);
}
// MyUtilComponent.php
function bar(&$controller) {
$a=$controller->request;
print_r($a);
}
Run Code Online (Sandbox Code Playgroud)
CakePHP组件有一个initialize回调,可用于存储对控制器的引用.将其添加到Component类:
public function initialize(Controller $controller) {
$this->controller = $controller;
}
Run Code Online (Sandbox Code Playgroud)
然后bar可以是:
function bar() {
$a = $this->controller->request;
print_r($a);
}
Run Code Online (Sandbox Code Playgroud)