如何访问视图中控制器传入的$this->request->data
?例如控制器内$this->set('sample')
定义的变量可以通过$sample
内部视图和.ctp文件访问。如何通过视图文件访问存储在$this->request->data
内的值?
答案 0 :(得分:9)
CakePHP book表示$this->request
在控制器,视图和助手中可用。因此,您可以在视图中使用$this->request->data
访问它。如果你想给它一个较短的名字,你可以将它设置为你的控制器中的东西:
$this->set('requestData', $this->request->data);
如果tyour视图只需要几个变量,则可以更清楚地解压缩控制器中的请求数据并直接传递它们。这也会更好separation of concerns;如果您稍后重构您的应用程序,只要您传入这些参数,您也不必更新视图:
$this->set('name', $this->request->data('name'));
$this->set('age', $this->request->data('age'));
(请注意,我使用CakePHP data()
method访问这些属性;您不必将其视为数组)。