CodeIgniter:什么是一个好的模型

时间:2010-06-28 17:22:59

标签: php codeigniter query-builder

CodeIgniter中什么是一个好的MVC模型。我的'用户'模型现在基本上使用数据库库中的相同活动记录功能。唯一的区别是您不需要指定数据库表,只需执行:

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

这感觉有点尴尬,因为它不会让它变得“容易”。

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

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

3 个答案:

答案 0 :(得分:2)

一个好的提示是,不要让模型与视图直接对话,你总是(或者当可能的话)必须使用控制器来进行这种通信。

我也听说过在你的模型中加入逻辑是一种不好的做法......我不知道这是否属实,但这是一个很多次破坏的规则(如果有人知道更多关于请纠正我。)

当然总是要记住模型应该是可重用的,所以我尝试给出一些问题的一般解决方案而不是特定于应用程序...另一方面控制器似乎是一次性组件所以这是你应该的地方做一些永远不会在其他项目中使用的丑陋的东西...

希望它有所帮助

答案 1 :(得分:0)

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

MVC架构允许更好地划分代码,并且可以允许更好的结构和代码的重用,但是你不需要按照MVC的想法来完成许多事情 - 再次归结为偏好。

答案 2 :(得分:0)

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

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