基于Phalcon擴(kuò)展的框架完善

設(shè)計(jì)思路:領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)

1.基礎(chǔ)服務(wù)層:DI容器,service,router-rule,access-token,logger,validation,exception…

2.領(lǐng)域模塊:modules(admin,api

3.基礎(chǔ)數(shù)據(jù)模塊:models

4.領(lǐng)域下的數(shù)據(jù)模塊:

項(xiàng)目目錄:動(dòng)因商城Phalcon框架整理

目錄結(jié)構(gòu).png


常見服務(wù)命名約定

實(shí)現(xiàn)

1.簡化配置文件

2.結(jié)構(gòu)化框架Service注冊(cè)部分實(shí)現(xiàn)

3.結(jié)構(gòu)化框架Exception管理

4.結(jié)構(gòu)化Module 內(nèi)的Event綁定

5.重構(gòu)路由白名單/權(quán)限驗(yàn)證AccessControl

5.按照固定的設(shè)計(jì)規(guī)范梳理出適合當(dāng)前開發(fā)需求的框架結(jié)構(gòu)


image.png
image.png

備注:
1.基礎(chǔ)類:

  • 作用:統(tǒng)一常用類屬性1.屬性是否可讀/可寫,2.屬性/方法是否存在,3.調(diào)用不存在方法/屬性時(shí)統(tǒng)一拋出可捕獲異常

  • 實(shí)現(xiàn):重寫__get(),__set(),__call(),完成hasPorperty()….

2.異常管理:

  • 作用:規(guī)范代碼中拋出的異常,給開發(fā)人員提供更直觀的異常處理提示

  • 實(shí)現(xiàn):所有異常都需要繼承父類XXXException,表意化重命名,設(shè)定getName方法

3.事件:

  • 作用:解藕邏輯,保持各模塊代碼統(tǒng)一

  • 實(shí)現(xiàn):各個(gè)模塊下event目錄下的所有類 都需要被反射注入到當(dāng)前模塊下

4.消息隊(duì)列模塊:

  • 作用:即時(shí)消息:解藕業(yè)務(wù),分離主/副業(yè)務(wù)流程 延時(shí)消息:

  • 實(shí)現(xiàn):RabbitMQ等消息組件使用/阿里云消息隊(duì)列服務(wù)

5.用戶鑒權(quán):

  • 作用:在運(yùn)行到指定子模塊下時(shí),對(duì)當(dāng)前的URL進(jìn)行各種鑒權(quán),統(tǒng)一處理

  • 實(shí)現(xiàn):子模塊配置路徑白名單,在訪問路徑時(shí),通過重寫baseControll的初始化方法進(jìn)行校驗(yàn)

6.日志記錄服務(wù): -作用:統(tǒng)一日志記錄服務(wù),解耦業(yè)務(wù),方便問題排查

  • 實(shí)現(xiàn):日志存儲(chǔ)服務(wù),解析服務(wù),日志查詢,可視化服務(wù)ELK/阿里云日志服務(wù)

*git服務(wù),代碼提交管理,50行高度,120列長度
*【1】.領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)在互聯(lián)網(wǎng)業(yè)務(wù)開發(fā)中的實(shí)踐

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容