透析thinkphp5升级版开发框架tpframe
admin
2023-06-14 07:02:28
0

这里将全面的介绍这个框架给我们开发带来的好处,让你们对它有更深层次的认识,喜欢或不喜欢的,欢迎大家前来留言讨论

一、目录层次结构

现在很多的项目,特别是大一点的项目里面,都会有很多的人参与,要进行程序查询找、修改或是升级扩展的时候,目录结构一目了然就显得很重要了,更重要的是后面的人来接手的话,目录结构不清楚,程序结构很乱的话,那估计接手的人只有哭了

下面就是tpframe的框架目录结构,是不是很干净

透析thinkphp5升级版开发框架tpframe

每个目录结构:

addon:插件目录

application:应该模块目录

coreframe:核心程序目录

data:运行时目录(缓存、上传文件等)

extend:扩展目录(保留),为了保持tp5程序扩展的风格,如果你习惯tp5的开发风格,你也可以在这里面扩展

theme:模板目录(前台、后台)

是不是很一目了然,各个功能模块都很清楚分开存放呀

二、程序分层结构

分层并不是tpframe弄出来的,而是把tp5的分层给充分利用起来,当然我这里不是说的程序框架模式,经典的还属MVC,那当然还有其它模式,像MVP,MVVM www.cnblogs.com/indream/p/3602348.html ,CBD,ORM等等

我这里要说的是MVC更细化分层,每层的在功能设计中所起的作用,为什么要这样设计等问题

我也看到过CV模式,有部分人就推崇这种简单直接的模式,其实这种就相当于原生PHP再升级一下而已,把逻辑相关独立出去,当然我想的是他们喜欢这种的目的就是觉得简单,直接了当,有人说程序执行更快?加载的东西少?

哈哈,如果仅仅是为了速度问题,原生比什么框架都快,不是吗。所以讨论到这个问题你就输了(别太认真),一个框架好与不好,个人觉得应该从如下方面来参考

?可读性好不好(换一个人能不能快速的入手)

?可维护性好不好

?程序可扩展性好不好

?程序之间耦合度是否达到尽可能的低

?重复代码是否将到最低

......

说了这些我就会问,原生PHP能做到上面的某些方面么,就拿CV模式来说,如果一个逻辑代码成千上万行了,改起来估计难度很大吧,动不动出错了怎么办,要在中间加一块功能,换一个人估计都不敢改了。

那么TPFrame框架的分层结构是怎么样的呢?我先来说一个公司的事务处理流程

首先是公司的前台人员,如果有外来人员(浏览器),简单的事情(不进行数据处理)直接回复就可以,如果要设计到公司重要的事情,她们便把事情通报给相应的部门(对应的部门,为客户服务的)来处理,每个部门处理重要事情总得要领导决策的吧(最终数据处理),然后再原路返回,再由前台人员把反馈结果给外来人员(浏览器),所以就得到了如下分层结构

1)、controller:控制层,控制转发,相当于前台

2)、service:服务层,为数据处理而服务器,出问题,回滚,数据拦截,验证等,相当于各部门

3)、logic:逻辑层,数据处理层(CURD操作),相当于领导

4)、view:视图层,这便是最张呈现给客户的方案

当然为了数据的更细化,规范化,还少不了其它的层

5)、model:模型层,数据自动处理(数据自动完成、数据修改),其实真正的数据处理层就是它

6)、validate:验证层,数据在进行CURD之前的验证操作可交给它

你们可去看thinkphp文档,这些层都是有的,只是它介绍的不是那么的详细。

当然有人说了,这样开发起来好复杂哦,当然,对于一些最终都是很简单的项目,可以认为它是有点复杂的,但对于 一个长期项目,以后要扩展,升级,维护的项目,这种分层绝对是有必要的。当然这样分层也减少了代码之间的耦合度。

三、程序代码结构

现在的很多项目需求都是各端都要求(app\mobile\pc),而在开发的时候,分三批人分别开发也好,一批人按计划开发也好,写好一套再写一套,还是各写各的一套。。。我们都知道,不管是app也好,mobile或pc,一个项目,他们的展示数据大部分都是相同的,也就是说他们对数据处理的大部分功能都是相同的,倘若是分开写的话,就会有大量的代码重复,以后升级三端都是加,改也要全改,维护起来更是老火。

那么针对这种tpframe给出来的解决方案(建议):

1)、逻辑共用(放公共模块),当然除非你肯定这个功能只有这个模块要使用,你就可以写在当前模块里面

2)、服务层各模块,因为模块(部门)对数据的处理可能不一样(领导下达的任务),例如app可能要规范一定的数据,返回数据为json格式 ,而pc则不一样

3)、控制器各模板,因为不同端的入口可能不一样

这里主要在逻辑层,因为它是最重要的,也是处理比较频繁的,它共用后,以后维护,升级都方便了。

四、程序扩展方式

用过微擎系统的人肯定就知道,它的系统是通过插件的形式过行一步一步的扩展的,而这些插件是完全独立的,这样便可以以插件的形式对系统进行任意功能的扩展了,但我发现它的插件里面有大量重要的代码,几个大的插件下来,动则几百M,大则几G,太臃肿。

tpframe同样实现了插件扩展系统的功能,而且进行了升级,各插件大量重复的功能模块可独立出来,每个功能模块都可以插件的方式进行开发

透析thinkphp5升级版开发框架tpframe

tpframe插件分类:

1)、行为插件

该插件开发好后,只须要在须要显示的地方放置钩子即可,以后只须要在后台开启与关闭来控制。

好处:钩子放置可以在未开发插件功能前放置,以后须要的时候再开发也可以;在不改变前端代码的情况下可自由开发插件

例如:编辑器插件、登录插件

2)、模块插件

该插件类似于thinkphp5的一个单独模块功能,它可以是独立的,有自己的数据管理功能

例如:cms插件、短信插件

3)、行为模块插件

它是行为插件与模块插件的组合

也就是说它也可以放置钩子,同样也有后台数据管理功能

例如:幻灯片插件

插件可简单的进行安装与卸载

OK ,这就是tpframe开发网站的一些优点吧,再次说明它不是cms系统,它是thinkplhp5的升级版框架;如果你觉得不错,欢迎下载使用,开源免费的哦;如果你有独到的见解,欢迎留言

相关内容

热门资讯

原创 2... 来源:网络消息 当自然指数最新一期数据揭晓,中国科学技术大学以1021.18分的总论文分数,稳居中...
阿里云新加坡连发多款AI新品,... 南都N视频记者了解获悉,5月26日,阿里云在新加坡面向海外市场发布一系列AI更新产品:官网Qwen ...
全网刷屏的华为“韬定律”,到底... 2026年5月,上海。华为发布: 韬(τ)定律。 报道原文,是这么写的: ……近年来,摩尔定律...
消息称国产头部旗舰集体测试抗反... 【CNMO科技消息】5月26日,数码博主“智慧皮卡丘”爆料称,国内市场排名前五的手机厂商下一代旗舰机...
伊朗被曝寻求解冻240亿美元资... 据伊朗方面当地时间5月26日消息,伊朗议长卡利巴夫在访问卡塔尔期间推动解冻伊朗240亿美元资金。伊方...
空调压缩机嗡嗡响不启动 原因可能是压缩机卡缸了,可以关闭空调一会再重新启动,如果还是不行就需要让维修人员来处理看,因为卡缸的...
空调压缩机不制冷是什么原因造成... 原因可能是空调缺氟漏氟了,可以修补好泄漏点再添加适量的氟利昂;原因可能是压缩机长时间处于负载的情况下...
格力空调一开机就跳闸是怎么回事 原因可能是是触电保护器容量过低,导致脱扣机构变形。虽然平时看不出来,但是当空调打开时,它就会超负荷跳...
一开空调就跳闸咋回事 开空调跳闸是一种很常见的问题,它在许多家庭中都会出现。这种问题可能由多种因素引起,下面是一些可能的原...
中央空调压缩机怎么跟换 中央空调是目前商业和工业建筑中常用的空气处理设备,其中压缩机是中央空调系统的核心部件。如果压缩机出现...