請問一下,基于當(dāng)前webman可否自己將目錄結(jié)構(gòu)修改為這樣的
將webman項(xiàng)目的app目錄刪除,plugin目錄直接修改為app
app--插件目錄
----plugin1/---項(xiàng)目插件根目錄
----plugin1/api---插件對外接口(非HTTP接口)
----plugin1/app---項(xiàng)目業(yè)務(wù)目錄
----plugin1/app/index---項(xiàng)目模塊業(yè)務(wù)入口
----plugin1/config---插件配置目錄
----plugin1/public---靜態(tài)資源目錄
----plugin1/composer.json---插件依賴(至今還沒辦法如何用主項(xiàng)目的composer來加載插件的依賴)
----plugin2/composer.json---按以上
config--項(xiàng)目配置
vendor--項(xiàng)目依賴
composer.json
start.php--項(xiàng)目啟動入口
示例訪問:www.xbcode.net/plugin1/index/index/index
訪問的則是【插件plugin1、模塊index、index控制器、index方法】
1、載入config/下的配置
2、設(shè)置好Worker的相關(guān)配置如 pid_file stdout_file log_file max_package_size 等
3、創(chuàng)建webman進(jìn)程,并監(jiān)聽端口默認(rèn)8787
4、創(chuàng)建自定義進(jìn)程
5、webman進(jìn)程和自定義進(jìn)程啟動后執(zhí)行以下邏輯(以下都是執(zhí)行在onWorkerStart里)
1、判斷請求url是否對應(yīng)的插件目錄下public的靜態(tài)文件,是的話返回文件(結(jié)束請求),不是的話進(jìn)入2
2、根據(jù)url判斷是否命中某個(gè)路由,沒命中進(jìn)入3、命中進(jìn)入4
3、是否關(guān)閉了默認(rèn)路由,是的話返回404(結(jié)束請求),不是的話進(jìn)入4
4、找到請求對應(yīng)的中間件,執(zhí)行前置中間件,執(zhí)行業(yè)務(wù)邏輯,執(zhí)行后置中間件,請求結(jié)束。