3

在 CodeIgniter 中是什么造就了一个好的 MVC 模型。我的“用户”模型现在所做的基本上是使用数据库库中相同的活动记录函数。唯一的区别是您不需要指定数据库表,只需执行以下操作:

$this->usermodel->where('username','test'),
$user = $this->usermodel->get();

这感觉有点尴尬,因为它并没有让它“更容易”。

我想到的另一种方法是将用户模型制作为具有加载功能的用户对象。但这在加载超过 1 个用户时效率不高。

我可以从你们那里得到一些提示吗?谢谢。

4

3 回答 3

2

一个好的提示是,不要让模型视图彼此直接对话,您总是(或在可能的情况下)必须使用控制器来进行这种通信。

我也听说过在模型中包含逻辑是一种不好的做法......我不知道这是否属实,但这是我已经打破很多次的规则(如果有人对此主题了解更多,请更正我)。

当然,始终牢记模型应该是可重用的,所以我尝试为某些问题提供通用解决方案,而不是特定于应用程序......另一方面,控制器似乎是一次性组件,所以这就是你应该做丑陋事情的地方永远不会在其他项目中使用...

希望它有一点帮助

于 2010-11-07T12:47:17.470 回答
0

我认为当您处理大量数据并且要进行许多复杂的查询时,“容易得多”。据我了解,如果您正在处理相对简单的事情,您可以放弃模型并从控制器内部进行数据库调用。本身没有“最佳实践”,而是个人喜好。

MVC 体系结构允许更好地划分代码,并且可以允许更好的结构和代码的重用,但是您不必完全按照 MVC 的想法来完成很多事情——再次归结为偏好。

于 2010-06-28T23:55:07.937 回答
0

关键是将所有应用程序逻辑抽象为模型,并使用控制器简单地“控制”您的 Web 界面并在 Web 界面和模型之间进行调解。

模型是您的程序,您应该能够非常轻松地完全重新设计用户界面,而不会影响应用程序模型。

于 2010-06-29T10:29:06.523 回答