Dobee php routing component. 框架路由組件php
改玩意也是依賴composer的喲。html
項目地址:laravel
其實一開始不打算作這個東西的,由於如今處處都是,以前也講過,本人也是一個愛做死愛折騰的人,因此仍是參考了一些別人的,作了一下玩玩git
此玩意已經推託管到packagist了,用composer裝逼的同窗能夠試試。可是鑑於國內的那道牆和網絡,實在不敢恭維呀,苦了牆內的小夥伴們,仍是直接到github或者coding clone下來吧。github
一開始的時候,搞這個東西,是用註釋去配置陸游的,可是後來發如今項目中若是這樣配置,程序每次初始化,都須要加載分析一次所有路由,每一個請求一次(我擦,這玩笑開大了),然而對系統的開銷是很大的。因此這樣的一個不足有幾點:
1. io
2. 程序對註釋段分析
3. 很差排查緩存
那麼應對的也有幾個方案:
1. 在生產環境部署的時候緩存全部路由配置,造成路由表文件
2. 整合命令行工具,經過命令行排查
3. 代碼常駐到內存裏面 (swoole)swoole
後面通過一段的調整,把他拆直接經過全局 Routes
對象建立,感興趣的同窗能夠安裝試試,玩玩,對象裏面的方法我就不講了,大家都懂得,看不懂的去面壁吧。網絡
目前路由配置的方法是相似 laravel
的路由配置的,但請不要噴我,我只是參考了而已,折騰了下。composer
目前支持 get
, post
, group
其餘還沒具體測試過用例,小夥伴們能夠幫下忙哦,有問題直接反饋或者在項目上 issue
框架
作這個玩意,當時也是抱着試一試的想法去作,沒想到就作成如今這樣,如今也用上了正途,雖然偶爾會發現點bug,可是我特麼都解決了。多爛的東西只要持續去作持續去完善,總有一天會變好的,這叫打磨。首先你要去嘗試。是吧,包哥。@runnerlee,很榮幸有這大神陪伴,感受本身就是個渣。
Routes::get('/', function () { return 'hello world'; });
每一個配置以後都 return \Dobee\Routing\RouteInterface
對象,也就是說,以上用例配置完以後,能夠執行一系列的鏈式操做。好比:
Routes::get('/', function () {})->setFormat(['html', 'php'])->setXX()->setXX;
最用用PHPStorm吧,有提示的。
不說了,這麼簡單的東西,你看看,剛入門都懂了,大家,應該都透了,我就不浪費口水了,去擼吧,程序猿。
不得不說我是一個喜歡折騰比較做死的人。常言道:生命不止,折騰不息。幹咱們這行的,不是被人幹就是幹別人(一般都是被人幹)。趁年輕,乾點本身喜歡的事情唄,反正本身開心,喜歡就得了,哪怕是重複造輪子。喜歡的,總有收穫。感恩各位小夥伴指點。
他威脅我不能說。