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吧,有提示的。
不说了,这么简单的东西,你看看,刚入门都懂了,大家,应该都透了,我就不浪费口水了,去撸吧,程序猿。
不得不说我是一个喜欢折腾比较做死的人。常言道:生命不止,折腾不息。干咱们这行的,不是被人干就是干别人(一般都是被人干)。趁年轻,干点本身喜欢的事情呗,反正本身开心,喜欢就得了,哪怕是重复造轮子。喜欢的,总有收获。感恩各位小伙伴指点。
他威胁我不能说。