php - 业务逻辑放在controller层好还是model层好
PHPz
PHPz 2017-04-10 17:04:58
0
14
1556

一直觉得model层只用来操作数据,很多业务的处理放在controller,有种说法叫业务逻辑更适合放在model层,不知道哪种处理更好!
看了tp5.0,好像把业务逻辑放在了model,然后看了一些贴,好多说业务逻辑放在model更好.
链接:https://ruby-china.org/topics/19292

业务逻辑放在model有个问题:好多时候一个业务逻辑需要多个model的配合或者说调用,像CI,model与model之间的互相调用就比较困难,还有model调用model总觉得不好!

看了这个回答:
放在model层,如果需要多个model,则在controller调用,model的接口粒度做好就行了,controller只是负责调用几个model通信而已.

觉得业务逻辑放在model比较好:controller来处理接受参数,传递参数,包括从前端取,给前端,也包括从model取返回值,给model参数,这样controller很清楚的做一件事情(取,给,差不多就是路由,逻辑交个model).

感谢很多人的回答,对mvc有了更深的认识!

PHPz
PHPz

学习是最好的投资!

reply all(14)
左手右手慢动作

TP5的文档建议放在模型

http://www.kancloud.cn/manual/thinkphp5/122950

迷茫

看你怎么架构你自己的程序,可以放在model层中,那么在设计方法的时候要考虑好拓展性和复用性。放在controller层的话,model层的数据操作就尽可能的原子级别操作。
现在比较喜欢增添一个service层,那么的话可以让controller和model层看起来更好看一些

Peter_Zhu

标准的MVC是这样的。
模型负责数据库读写还有各种业务逻辑。
控制负责接收参数;过滤参数;实例化模型;调用方法;渲染模版输出,或者ajax,或者执行跳转等等。
但是一旦项目赶进度。直接撸在控制器吧,后期慢慢搬代码。整合

阿神

放哪的都有 看设计者怎么考虑吧~ 如果还是乱就再抽象一层喽~

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template