CakePHP:将$this-> data传递给Controller中的View

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了CakePHP:将$this-> data传递给Controller中的View脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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]数组.

谢谢

@H_777_16@ 您需要了解Cake HelPErs自动查找数据的不同位置,因为这是真正的差异.表单助手将根据$this->数据的内容自动填写字段.这就是验证失败时表单数据的持续性. OTOH,< select>元素选项数组自动复数字段名称获取,
例如如果设置,$form-> select(‘Model.foo_id’)将从$foos中获取其选项.

因此,$this->数据有其特殊的地方,不应轻易使用,就像命名变量有用,不应忽略.同时使用两者.如果您不想自动设置Form Helper内容,请设置()您的变量.恕我直言,它也更具可读性,可以指定一个变量名称来暗示它包含的数据.你在$this->数据上操作的所有视图都不如在$foo上操作的一个视图和在$bar上操作的另一个视图那样清晰.

脚本宝典总结

以上是脚本宝典为你收集整理的CakePHP:将$this-> data传递给Controller中的View全部内容,希望文章能够帮你解决CakePHP:将$this-> data传递给Controller中的View所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。