PHP中大型网站程序架构

参考链接:

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
控制器==>逻辑层 ==>底层模型==>视图层

这样做的好处有很多,例如:

  1. 代码复用性高,易于修改,和维护。
  2. 为以后的微服务架构做准备。

你可能感兴趣的:(PHP中大型网站程序架构)