1

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

避免使用 $uses 数组
你有两个完全不相关的模型,但你需要来自另一个控制器中的一个的信息。第一个想法是将它们添加到 $uses 数组中。嘿,这很容易,可以完成工作。好吧,长话短说,这是不好的做法。考虑一下您的模型绑定,并确保模型确实彼此不相关。有时您的 User 模型绝对与 CommentRating 无关,但您绝对需要在您的用户控制器中使用它。好吧,只是偶然地出现了 User->Post->Comment->CommentRating。这是一个深度绑定,起初可能并不明显,但通过使用这样的模型链,您可以轻松避免使用 $uses 数组,而实际上没有必要。

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

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

4

1 回答 1

1

这句话把一个长故事剪得太短了。为什么这是一个不好的做法?他甚至没有给出一个理由。我不会太在意它。

我不是专家,但在某些情况下,代码中的可读性和常识肯定比一分钟的性能提升或任何其他避免 $uses 可能提供的东西更重要。我将继续使用 $uses 而不是像 User->Post->Comment->Rating 这样的模糊模型链

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

于 2012-10-16T22:07:46.277 回答