自動(dòng)路由面對(duì)復(fù)制的目錄結(jié)構(gòu)時(shí)無能為力
把路由寫在一個(gè)文件性能又不好,webman既然已經(jīng)常駐內(nèi)存了,不如最低版本要求提高到php8,加上注解路由,框架啟動(dòng)時(shí)讀取app目錄下的所有控制器,把注釋路由緩存起來,每次訪問都只需要讀取緩存,這樣寫業(yè)務(wù)的時(shí)候直接在方法上面的注解里設(shè)置路由、中間件這些玩意 不需要再去改路由文件之類的
<?php
class TestController
{
#[ Method("GET", "POST") ]
#[ Url("/article/create") ]
function create() {
#...
return view('...');
}
}
這個(gè)自己也可以實(shí)現(xiàn) 不過集成在框架里應(yīng)該更好
FPM模式下整注解,要把所有控制器讀取一遍,從性能考慮,使用注解路由模式不現(xiàn)實(shí)
常駐內(nèi)存的應(yīng)用 感覺單獨(dú)整一個(gè)route.php有點(diǎn)脫褲子放屁了,webman完全可以有一套自己的玩法
沒有路由寫到一個(gè)文件性能不好的說法哈。
單獨(dú)路由配置文件有很大優(yōu)勢(shì),路由集中管理,有哪些路由看起來很直觀,修改維護(hù)也非常方便。
webman本身有默認(rèn)路由,大部分情況下默認(rèn)路由就夠用了,少數(shù)幾個(gè)路由在路由配置里定制下就完事了。不需要每個(gè)控制器去配置路由。
注解路由也是一直想支持的功能,包括注解中間件、緩存等。但是這些不是非常必要功能,我更傾向與通過插件來實(shí)現(xiàn),有需要注解路由的就安裝插件,不需要的就不裝。
如果誰想實(shí)現(xiàn)注解路由歡迎給webman/auto-route發(fā)pr(注意判斷下如果低于php8就不執(zhí)行注解路由邏輯)。注解路由放到auto-route插件非常合適。
我遇到的問題是: 項(xiàng)目有很多渠道, 每次添加一個(gè)渠道就要添加一個(gè)sdk代碼文件, 然后再去route.php添加路由,感覺是有點(diǎn)麻煩,如果用默認(rèn)的路由,又不能自定義類似 /api/v1的格式
默認(rèn)路由完全夠用,但是中間件只能夠精確到應(yīng)用
如果想靈活使用中間件的話就在路由配置里改
使用注解的話調(diào)整的時(shí)候比較麻煩,不夠集中化管理,不推薦繼承到項(xiàng)目中,如果自己想用可以自己加
默認(rèn)路由多應(yīng)用圖如下