当前位置:Gxlcms > PHP教程 > thinkphpaction与model问题,急

thinkphpaction与model问题,急

时间:2021-07-01 10:21:17 帮助过:16人阅读

关于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 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

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

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

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

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

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

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

搜索service layer pattern, entity+repository+service

人气教程排行