Thinkphp5樂兔CRM之項目源代碼架構

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

相關文章
相關標籤/搜索