CakePHP:将$this-> data传递给Controller中的View
发布时间:2020-12-13 13:43:02 所属栏目:PHP教程 来源:网络整理
导读:我正在使用Cake PHP 1.2,我只是想知道将$this-数据传递给Controller的View是否有任何副作用. 例如: // inside PostsController,I have this code:$this-data['Posts'] = $this-Post-find('all'); 代替 : $posts = $this-Post-find('all');$this-set(compac
我正在使用Cake
PHP 1.2,我只是想知道将$this->数据传递给Controller的View是否有任何副作用.
例如: // inside PostsController,I have this code: $this->data['Posts'] = $this->Post->find('all'); 代替 : $posts = $this->Post->find('all'); $this->set(compact('posts')); // inside the /posts/view,I access it like this: <?php foreach ($this->data['Posts'] as $post) {....};?> 通过这样做,我从控制器中一起跳过了$this-> set().这是否违反了我可能忽略的任何MVC模式或任何安全问题?我看到使用Auth组件,$this->数据包含[_Token]数组. 谢谢
您需要了解Cake Helpers自动查找数据的不同位置,因为这是真正的差异.表单助手将根据$this->数据的内容自动填写字段.这就是验证失败时表单数据的持续性. OTOH,< select>元素选项数组自动从复数字段名称中获取, 例如如果设置,$form-> select(‘Model.foo_id’)将从$foos中获取其选项. 因此,$this->数据有其特殊的地方,不应轻易使用,就像命名变量有用,不应忽略.同时使用两者.如果您不想自动设置Form Helper内容,请设置()您的变量.恕我直言,它也更具可读性,可以指定一个变量名称来暗示它包含的数据.你在$this->数据上操作的所有视图都不如在$foo上操作的一个视图和在$bar上操作的另一个视图那样清晰. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |