CakePHP - 深度模型绑定vs使用

时间:2012-10-16 10:32:15

标签: cakephp model controller cakephp-2.0

我最近读了一篇旧文章,建议

  

避免使用$ uses数组
你有两个完全不相关的模型,但是你需要另一个控制器中的信息。该   第一个想法是将它们添加到$ uses数组中。嘿,这很简单   完成的工作。好吧,长话短说,这是不好的做法。   考虑一下您的模型绑定,并确保模型不是   相互关联。有时您的用户模型绝对不是   与CommentRating相关,但您绝对需要在您的用户中使用它   控制器。好吧,只是偶然看起来   用户>后> Comment-> CommentRating。这可能不是深层绑定   起初很明显,但通过使用这样的模型链,你可以   当它真的没必要时,可以轻松避免使用$ uses数组。

为了便于阅读/维护,我倾向于将CommentRating放在uses数组中,然后直接调用$ this-> CommentRating。

使用$ uses数组真是不好的做法,如果是这样,为什么?

1 个答案:

答案 0 :(得分:1)

这句话有点太长了。为什么这是一个不好的做法?他甚至没有给出一个理由。我不会过分关注它。

我不是专家,但肯定会出现这样的情况,即代码中的可读性和常识比一分钟的性能提升或其他任何避免$ use可能提供的内容更重要。我将继续使用$ uses代替模糊的模型链,例如User-> Post-> Comment-> Rating

编辑:正如@tigrang补充的那样,在Cake 2中延迟加载模型,无论如何都没有真正的性能优势!