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

他威胁我不能说。

相关文章
相关标签/搜索