thinkphp action与model问题,急

WBOY
发布: 2016-06-06 20:44:50
原创
988 人浏览过

关于thinkphp我看官方demon都把业务逻辑写在action里,model里只是做验证和自动完成,不过也有一部分是action和model混写,上github看了下关于thinkphp的项目更晕了,几乎是各写各的,有的写action里有的写model里,到底用thinkphp框架该把业务逻辑写在哪?

回复内容:

关于thinkphp我看官方demon都把业务逻辑写在action里,model里只是做验证和自动完成,不过也有一部分是action和model混写,上github看了下关于thinkphp的项目更晕了,几乎是各写各的,有的写action里有的写model里,到底用thinkphp框架该把业务逻辑写在哪?

基本思想还是传统的MVC(Model,View,Controller)

通常Controller是负责业务逻辑。
View负责处理数据显示
Controller 用于处理应用程序数据逻辑。

为啥这样?

有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面
MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

模式的诞生为了解决问题的。

对于你来说。如果是你一人做。锻炼下。你可以按照自己的习惯写。这都无所谓。
但是我觉得最好养成习惯。这样分离比较清晰易懂。对于你以后与别人项目协作也是很好的。

团队合作做的话,那更需要分层。

借用百度一张图,你可以清晰看下。

thinkphp action与model问题,急

楼主似乎还没对MVC理解透。thinkphp里面m和c其实并没有严格的划分。可以直接在c里面操作数据库数据。

简单的,复用性不高,直接就写Action里面就行。
如果复用性比较高的,可以写到Model里面。
在Thinkphp里很多人都认为M实际已经提炼到M()这个方法里了。
写在Model里面的关联到数据库字段的映射,才更贴切Model的意思。
Thinkphp的分层本来就不是明显了。比纠结,写着写着,就知道什么代码要提取到Model中去了。

搜索service layer pattern, entity repository service

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板