shuiping56 发表于 2011-10-17 11:08:10

理解模型的困惑


大虾们,MVC是否可以这样做呢?
M层:操作了数据库,并且把取出了的数据整理好,然后return数据。
C层:从M层取得数据,根据取得的数据的情况,控制跳转不同的视图。取得用户输入的数据,并进行合法验证,数据过滤,然后再传给M层。
V层:取得C层的数据,绑定数据。
如果是这样理解的话,那么:
建立一个C层文件,写一个function,对应着一个视图。
建立一个M层文件,写一个function(名字和C层的function同名),从数据库取数据,然后整理数据,然后给C层的一个function。
V层:获取C层数据,绑定数据。

大虾们,是不是可以这样做呢?这样做对不对呢?

重庆PHP社区 发表于 2011-10-23 02:18:41

你可以这么理解,但写一个function(名字和C层的function同名)这个有误
M层,本身的意思是业务逻辑,但CI里面弱化M,只限于数据库处理
举例,前台、后台能需要用到“根据文章ID获取文章”这个方法,就可以写到M里面去,然后前台、后台都使用这个M

在CI里,小应用我一般直接省了M层,呵呵

acabin 发表于 2011-10-27 15:02:23

本帖最后由 acabin 于 2011-10-27 15:02 编辑

在ci里面model只是用于数据库存取……
相当于getUsernameById,updateUser之类的功能

anjesky 发表于 2011-10-27 21:10:56

我也很少用M层

Enki 发表于 2011-11-3 20:27:50

我也很不理解啊!
求解!

五点晨曦 发表于 2011-11-6 04:49:34

本帖最后由 五点晨曦 于 2011-11-6 04:51 编辑

CI里面model被弱化了,多数MVC框架都是由model处理业务逻辑的
这样做好处就是比较轻量,但是做大点的应用还是分清楚点好。

Hex 发表于 2011-11-7 12:25:42

model 是不是只放数据库操作,这个要看如何设计。
我不认为 CI 的 Model 只能放数据库操作,业务逻辑完全可以放到 Model 中。

loadinger 发表于 2011-11-7 13:34:52

其实要这样想。一些处理的的逻辑,放哪方便?放哪里能更好的重用。就放哪里。mvc是一种方式,为我们服务的。方便了我们才有用。

cscs__2002 发表于 2012-5-16 16:55:22

loadinger 发表于 2011-11-7 13:34 static/image/common/back.gif
其实要这样想。一些处理的的逻辑,放哪方便?放哪里能更好的重用。就放哪里。mvc是一种方式,为我们服务的 ...

支持!不能为了mvc而mvc

ぁ愛我所愛 发表于 2012-5-28 14:42:01

把mvc想的太死了。
页: [1] 2
查看完整版本: 理解模型的困惑