Dobee Routing 組件

Dobee php routing component. 框架路由組件php

改玩意也是依賴composer的喲。html

項目地址:laravel

  1. github
  2. coding

由來

其實一開始不打算作這個東西的,由於如今處處都是,以前也講過,本人也是一個愛做死愛折騰的人,因此仍是參考了一些別人的,作了一下玩玩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,很榮幸有這大神陪伴,感受本身就是個渣。

用例

GET

Routes::get('/', function () {
    return 'hello world';
});

每一個配置以後都 return \Dobee\Routing\RouteInterface 對象,也就是說,以上用例配置完以後,能夠執行一系列的鏈式操做。好比:

Routes::get('/', function () {})->setFormat(['html', 'php'])->setXX()->setXX;

最用用PHPStorm吧,有提示的。

不說了,這麼簡單的東西,你看看,剛入門都懂了,大家,應該都透了,我就不浪費口水了,去擼吧,程序猿。

關於做者

不得不說我是一個喜歡折騰比較做死的人。常言道:生命不止,折騰不息。幹咱們這行的,不是被人幹就是幹別人(一般都是被人幹)。趁年輕,乾點本身喜歡的事情唄,反正本身開心,喜歡就得了,哪怕是重複造輪子。喜歡的,總有收穫。感恩各位小夥伴指點。

關於大神Runnerlee

他威脅我不能說。

相關文章
相關標籤/搜索