问一个关于一些PHP MVC框架业务逻辑的问题,希望大侠们帮忙释疑。

2013-07-10 16:16:33 +08:00
 octopus_new
最近在看一些关于MVC的文章,有一些疑问。
V相对比较好理解,主要负责呈现。
M和C总是感觉有些理解困难。因为某些文章说业务逻辑放在controller部分,而M只负责数据。如果这样的话,就变成了重C轻M。但是老外的文章中讲的都是重M,轻controller,说是尽量让controller只作为桥梁。而且国内一些网上的教程会把CRUD的操作代码放在controller,而Model只作为数据库的gateway,如果教条起来的话,这是不是不规范呢?是不是应该把CRUD封装到model里面,然后view直接调用结果,而大部分的controller功能应该是响应用户Routing的请求或者检查用户登录状态之类的程序逻辑?

或者说我对于MVC的理解有问题,很希望能有人能指点迷津。
5449 次点击
所在节点    问与答
24 条回复
kakaryan
2013-07-11 10:10:03 +08:00
@raincious 在Controller和Model之间应该封装一个业务层,业务层封装业务逻辑,在业务层去调用Model层,Controller不直接调Model.业务逻辑都封装到Model会导致Model越来越臃肿,也是不合适的.
66beta
2013-07-11 10:14:23 +08:00
比较流行的框架,比如laravel和CI,都是主张C制作跳转,M做数据处理(验证之类的)
Laravel的route更加减轻了C的工作
iloveyou
2013-07-11 10:17:34 +08:00
@kakaryan 现在好多框架都是业务层和model在一起
shinwood
2013-07-11 10:53:45 +08:00
@octopus_new gmail 地址即 shinwood at gmail.com

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/75364

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX