访问组件中的$this->params
和$this->data
。
class LoginComponent extends Object {
/* */
public function login() {
pr($this->params);
pr($this->data);
}
}
我在蛋糕 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
控制器对象。您现在可以访问Controlelr方法和变量。因为您可能知道:调用$this->data
时的$this
是指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();