php 项目架构演变史

混编->mvc->分层->组件

混编

html和php代码混合编程,html代码中插入大量的php原生代码

mvc

随着业务变的越来越复杂,控制器和模型会越来越大,文件会越来越多,越来越多,相应的职责也越来越多

分层

就是把处理相同功能的类,放在同一个文件夹中,文件夹的名称,就是这个层的意义,例如model层,controller层
尽量一个职责一个类,一个方法一个事,一层只做相同事
解决了项目中,臃肿,重复等问题

弊端是代码会变多(因为分的非常细,双刃剑),层多了以后,项目结构会变得复杂

在分层设计中,还增加了server层,用来提供服务

1,模型只用来做增删改查操作
2,服务层用来做模型给的数据做逻辑,业务处理(之前这个是控制器做的)
3,控制器直接调用服务层处理好的数据

和工具层,common文件夹下,处理登录,支付功能等的公共类

tp的工具层在 application/common/ 目录下
laravel 在 /vendor/laravel/framework/src/Illuminate/Support/ 目录下

工具层的特点是可以不依赖于项目而存在

组件化

把功能拆分成一个个独立的组件,每一个都可以单独使用,laravel的组件甚至可以用到tp中,用composer引入就可以.也可以单独拿出自己需要的组件,来编写自己的框架

如果再来一个项目,其中的验证,支付,日志等方法都是一样的,那么组件化的思想,可以直接把这些功能拿来用,而不是复制粘贴代码过来,大大提高了灵活性

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值