CRM项目选用的是 ThinkPHP5.1.x 的版本作开发,PHP的版本是PHP7+。数据库
如今作PHP的项目,我喜欢把项目的代码架构成可用性高的项目。举个例子,我接触过不少用ThinkPHP作项目的人,老是按TP官方默认生成的目录架构来作项目。这样作倒也不太严重,最严重的地方是他的架构里没有严格的加入公共的 Model 层、Logic 层、或 Dao 层。致使不少简单或复杂的代码都直接在Controller层里实现,最后写着写着发生相同功能的地方不得不直接复制粘贴代码,形成大量冗余代码出如今项目里,给后期扩展维护带来麻烦。api
这张图是别人写的 TP3.2的代码,架构
这张图是我很早期用TP3.2写的代码,Controller 层只负责把提交上来的数据整理好传给 Model 层或 Logic 层。app
再看看如今用 TP5.1 作的CRM的项目架构,分红 Controller 层,Model 层,Logic 层,Dao层,结构清晰复用代码,减小冗余代码。blog
Model 层就对应数据库里的表实体开发
这样架构以后,无论作 Web 端,H5的Web端,仍是 app 的 api ,我都能复用 Logic 层里写好的业务逻辑。扩展
欢迎评论交流,若有转载,敬请注明原创做者与出处。im