访问$this->params
和$this->data
组件。
class LoginComponent extends Object {
/* */
public function login() {
pr($this->params);
pr($this->data);
}
}
我在 cake v1.2中使用它。我想知道v1.2和v2.1中的解决方案。请给我一个建议。
访问$this->params
和$this->data
组件。
class LoginComponent extends Object {
/* */
public function login() {
pr($this->params);
pr($this->data);
}
}
我在 cake v1.2中使用它。我想知道v1.2和v2.1中的解决方案。请给我一个建议。
看看你的库中的一些组件。我知道这适用于 Cake 2.x,而不是 1.2.x。更新:正如评论中提到的标记,这对于 1.x 版本是一样的。
例如,当我打开时,SecurityComponent
我会发现一个名为startup()
. 该方法将自身定义为:
public function startup(Controller $controller) {
//Rest of code goes here
}
如您所见,它们import
是 Controller 对象。您现在可以访问 Controlelr 方法和变量。因为您可能知道:$this
调用时$this->data
指的是Controller
.
因此,如果我将其存储$controller
在组件中调用的受保护变量$_Controller
中,我可以轻松访问数据和参数,如下所示:
# CakePhp 2.x
$this->_Controller->request->data;
$this->_Controller->request->params;
# CakePhp 1.x
$this->_Controller->data;
$this->_Controller->params;
也看看这个答案。
通过路由器检查:
Router::getParams();