Jus*_*ohn 1 php cakephp cakephp-1.2 cakephp-2.1
访问$this->params和$this->data组件.
class LoginComponent extends Object {
/* */
public function login() {
pr($this->params);
pr($this->data);
}
}
Run Code Online (Sandbox Code Playgroud)
我在蛋糕v1.2中使用它.我想在v1.2以及v2.1中知道这个的解决方案.请给我一个建议.
看一下lib中的一些组件.我知道Cake 2.x,而不是1.2.x. 更新:作为评论中提到的标记,这对1.x版本的作用相同.
例如,当我打开时,SecurityComponent我会找到一个名为的函数startup().此方法将自身定义为:
public function startup(Controller $controller) {
//Rest of code goes here
}
Run Code Online (Sandbox Code Playgroud)
如您所见,它们import是Controller对象.您现在可以访问Controlelr方法和变量.因为你可能知道:$this当呼叫时$this->data指的是Controller.
所以,如果我将它存储在我的组件中$controller调用的受保护变量$_Controller中,我可以轻松地访问数据和params,如下所示:
# CakePhp 2.x
$this->_Controller->request->data;
$this->_Controller->request->params;
# CakePhp 1.x
$this->_Controller->data;
$this->_Controller->params;
Run Code Online (Sandbox Code Playgroud)
看看这个答案也是如此.