【问题标题】:cakePHP: access $this->request->data through view files (information passed by controller)cakePHP:通过视图文件访问$this->request->data(控制器传递的信息)
【发布时间】:2014-07-20 14:05:41
【问题描述】:
Views里面如何访问控制器传入的$this->request->data?例如由$this->set('sample') 内部控制器定义的变量可以由$sample 内部视图和.ctp 文件访问。如何通过视图文件访问存储在$this->request->data 中的值?
【问题讨论】:
标签:
cakephp
view
controller
【解决方案1】:
CakePHP book 表示$this->request 在控制器、视图和助手中可用。因此,您可以在视图中使用$this->request->data 访问它。如果你想给它一个更短的名字,你可以在你的控制器中设置它:
$this->set('requestData', $this->request->data);
如果你的视图只需要几个变量,那么在你的控制器中解包请求数据并直接传递它们可能会更清楚。这样也会更好separation of concerns;如果您稍后重构您的应用程序,只要您也传递这些参数,您就不必更新视图:
$this->set('name', $this->request->data('name'));
$this->set('age', $this->request->data('age'));
(请注意,我使用CakePHP data() method 来访问这些属性;您不必将其视为数组)。