PhalconCMS系統(tǒng)源碼解析之多模塊

2022-11-09    分類: 網(wǎng)站建設(shè)

網(wǎng)站建設(shè)- 建站教程 - 網(wǎng)頁設(shè)計(jì)- PhalconCMS系統(tǒng)源碼解析之多模塊
這一篇?jiǎng)?chuàng)新互聯(lián)跟大家分享一下PhalconCMS多模塊的代碼組織。在PhalconCMS中有“前臺(tái)(app/frontend目錄)”和“后臺(tái)(app/backend目錄)”兩個(gè)模塊,分別對(duì)應(yīng)著訪客和管理員的用戶群體。下面創(chuàng)新互聯(lián)程序開發(fā)團(tuán)隊(duì)直接通過代碼來分析。

多模塊文件加載

在“app/core/loader.php”文件中,對(duì)“前臺(tái)模塊”和“后臺(tái)模塊”的“controllers”、“models”文件目錄進(jìn)行加載。這里是用的命名空間加載(registerNamespaces)方式,也可以用自動(dòng)加載(registerDirs)來處理。

成都網(wǎng)站建設(shè)
DI注冊(cè)服務(wù)

私有服務(wù)

在“app/frontend/FrontendModule.php”和“app/Backend/BackendModule.php”文件中分別向DI注冊(cè)前臺(tái)和后臺(tái)模塊所需的"dispathcer調(diào)度器服務(wù)"、“url服務(wù)”以及“view模板服務(wù)”。這里需要注意的是,前后臺(tái)的“dispatcher調(diào)度器服務(wù)”中設(shè)置的“默認(rèn)調(diào)度器”是不一樣的:

成都網(wǎng)站建設(shè)
同理,前后臺(tái)的“url服務(wù)”中設(shè)置的"URL前綴"也是不一樣的。這是為了在程序中調(diào)用生成URL的方法($url->get("test/test");)時(shí),自動(dòng)根據(jù)當(dāng)前模塊來設(shè)置URL的前綴:

成都網(wǎng)站建設(shè)
公用服務(wù)

在“app/core/services.php”文件中向DI注冊(cè)多模塊共用的公用服務(wù),如路由服務(wù)、數(shù)據(jù)庫連接服務(wù)、緩存服務(wù)、日志服務(wù)等等。多模塊的路由服務(wù)如下:

成都網(wǎng)站建設(shè)
"app/config/routes.php"中設(shè)置的路由規(guī)則如下:

成都網(wǎng)站建設(shè)
注冊(cè)多模塊

以上步驟完成之后,后在"app/public/index.php"中注冊(cè)多模塊:

成都網(wǎng)站建設(shè)
至此,PhalconCMS的多模塊就能正常運(yùn)行了。在瀏覽器中訪問帶有“/admin/”前綴的URL,"dispatcher調(diào)度服務(wù)"就能將請(qǐng)求URL分發(fā)到后臺(tái)的控制器中("app/backend/controllers"),其他的URL請(qǐng)求,就默認(rèn)分發(fā)到前臺(tái)控制器("app/frontend/controllers")。

以上貼的都是代碼片斷,具體代碼可以與創(chuàng)新互聯(lián)程序開發(fā)團(tuán)隊(duì)交流。

分享名稱:PhalconCMS系統(tǒng)源碼解析之多模塊
瀏覽路徑:http://www.bm7419.com/news/211718.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、品牌網(wǎng)站制作電子商務(wù)、網(wǎng)站導(dǎo)航、網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)