参考链接:
Laravel 的中大型專案架構
http://oomusou.io/laravel/laravel-architecture/
今天无意间看到《Laravel 的中大型專案架構》这篇文章,之前我们项目也有类似的问题,分享链接之余也写下之前我们项目的设计。
本项目采用ThinkPHP 3.2版本
|----xxx 项目
|----|---- Common 公共层
|----|----|---- Common 公共类
|----|----|---- Model 底层模型
|----|----|---- Logic 逻辑层(数据查询,缓存)
|----|----|---- Validate 数据验证层
|----|----|---- ……………… 其它文件
|----|---- Api 客户端接口层
|----|----|---- Common 接口公共类
|----|----|----|---- v1_1 版本1.1
|----|----|----|---- v1_2 版本1.2
|----|----|----|---- v1_3 版本1.3
|----|----|---- View 视图
|----|----|---- Controller 控制器
|----|----|---- Config 配置文件
|----|----|---- ……………… 其它文件
|----|---- Home 用户层
|----|----|---- View 视图
|----|----|---- Controller 控制器
|----|----|---- Config 配置文件
|----|----|---- ……………… 其它文件
|----|---- Phone 手机层(微信)
|----|----|---- ……………… 同上
|----|---- Merchant 商家后台层
|----|----|---- ……………… 同上
|----|---- Manage 系统后台层
|----|----|---- ……………… 同上
|----|---- Script 脚本层
|----|----|---- ……………… 一些任务脚本,例如:队列,统计等。
基本的业务流程
insert / update / delete
控制器==>验证器==>底层模型==>视图层
select
控制器==>逻辑层 ==>底层模型==>视图层
这样做的好处有很多,例如:
- 代码复用性高,易于修改,和维护。
- 为以后的微服务架构做准备。
网友评论