Home >Backend Development >PHP Tutorial >thinkphp action与model问题,急

thinkphp action与model问题,急

WBOY
WBOYOriginal
2016-06-06 20:44:501024browse

关于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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn