访问组件中的$this->params
和$this->data
。
class LoginComponent extends Object {
/* */
public function login() {
pr($this->params);
pr($this->data);
}
}
我在蛋糕 v1.2 中使用它。我想知道 v1.2 以及 v2.1 的解决方案。请给我一个建议。
答案 0 :(得分:6)
查看lib中的一些组件。我知道Cake 2.x,而不是1.2.x. 更新:mark中提及的comments,对于1.x版本的效果相同。
例如,当我打开SecurityComponent
时,我会找到一个名为startup()
的函数。此方法将自身定义为:
public function startup(Controller $controller) {
//Rest of code goes here
}
如您所见,他们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;
同时查看this answer。
答案 1 :(得分:0)
通过路由器检查:
Router::getParams();