资讯专栏INFORMATION COLUMN

Dobee Routing 组件

Steven / 619人阅读

摘要:框架路由组件改玩意也是依赖的哟。,很荣幸有这大神陪伴,感觉自己就是个渣。用例每个配置之后都对象,也就是说,以上用例配置完之后,可以执行一系列的链式操作。常言道生命不止,折腾不息。干我们这行的,不是被人干就是干别人通常都是被人干。

  

Dobee php routing component. 框架路由组件

改玩意也是依赖composer的哟。

项目地址:

github

coding

由来

其实一开始不打算做这个东西的,因为现在到处都是,之前也讲过,本人也是一个爱作死爱折腾的人,所以还是参考了一些别人的,做了一下玩玩

安装

此玩意已经推托管到packagist了,用composer装逼的同学可以试试。但是鉴于国内的那道墙和网络,实在不敢恭维呀,苦了墙内的小伙伴们,还是直接到github或者coding clone下来吧。

故事/发展

一开始的时候,搞这个东西,是用注释去配置陆游的,但是后来发现在项目中如果这样配置,程序每次初始化,都需要加载分析一次全部路由,每个请求一次(我擦,这玩笑开大了),然而对系统的开销是很大的。所以这样的一个不足有几点:
1. io
2. 程序对注释段分析
3. 不好排查

那么应对的也有几个方案:
1. 在生产环境部署的时候缓存所有路由配置,形成路由表文件
2. 整合命令行工具,通过命令行排查
3. 代码常驻到内存里面 (swoole)

后面经过一段的调整,把他拆直接通过全局 Routes 对象创建,感兴趣的同学可以安装试试,玩玩,对象里面的方法我就不讲了,你们都懂得,看不懂的去面壁吧。

目前路由配置的方法是类似 laravel 的路由配置的,但请不要喷我,我只是参考了而已,折腾了下。

目前支持 get, post, group 其他还没具体测试过用例,小伙伴们可以帮下忙哦,有问题直接反馈或者在项目上 issue

感受

做这个玩意,当时也是抱着试一试的想法去做,没想到就做成现在这样,现在也用上了正途,虽然偶尔会发现点bug,但是我特么都解决了。多烂的东西只要持续去做持续去完善,总有一天会变好的,这叫打磨。首先你要去尝试。是吧,包哥。@runnerlee,很荣幸有这大神陪伴,感觉自己就是个渣。

用例 GET
Routes::get("/", function () {
    return "hello world";
});

每个配置之后都 return DobeeRoutingRouteInterface 对象,也就是说,以上用例配置完之后,可以执行一系列的链式操作。比如:

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

最用用PHPStorm吧,有提示的。

不说了,这么简单的东西,你看看,刚入门都懂了,你们,应该都透了,我就不浪费口水了,去撸吧,程序猿。

关于作者

不得不说我是一个喜欢折腾比较作死的人。常言道:生命不止,折腾不息。干我们这行的,不是被人干就是干别人(通常都是被人干)。趁年轻,干点自己喜欢的事情呗,反正自己开心,喜欢就得了,哪怕是重复造轮子。喜欢的,总有收获。感恩各位小伙伴指点。

关于大神Runnerlee

他威胁我不能说。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30264.html

相关文章

  • 关于Dobee

    摘要:所以其实核心在于每个组件上面,上面实现的东西才是至关重要的。也因为正因如此,每个组件都是独立更新,互不干扰的。未来畅想至于未来,我觉得互联网这世界正在发生翻天覆地的变化,也是。 What is Dobee 其实Dobee,是一个很简单的轻量级PHP框架,composer管理安装。 项目地址: 1. coding 2. Github 欢迎大家去吐槽一下。 由来 整个项目的来龙去...

    jcc 评论0 收藏0
  • FastD 最佳实践一: 构建 API

    摘要:最佳实践一构建是一个专门针对应用层而生的一个应用框架,提供良好的中间件,路由以及支持扩展运行,从而具体良好的性能条件。手动创建添加路由地址调用完成最第一个路由。缓存也是一个前置中间件,使用方式与日常操作保持一致。 FastD 最佳实践一: 构建 API FastD 是一个专门针对 API 应用层而生的一个 PHP 应用框架,提供良好的中间件,路由以及支持 swoole 扩展运行,从而具...

    WalkerXu 评论0 收藏0
  • FastD

    摘要:最近终于放下手头的一件小事了。就是本人的框架官网终于弄完了,哈哈。是以往合并而来的。组件也全部更名为了可以继续开展更多的学习了,酸爽。 最近终于放下手头的一件小事了。就是本人的框架官网终于弄完了,哈哈。地址: fast-d.cn。大家多多指教。 fast-d 是以往 dobee + fast-d api 合并而来的。组件也全部更名为 fastd-components了 可以继续开展更多...

    J4ck_Chan 评论0 收藏0
  • 【CuteJavaScript】Angular6入门项目(1.构建项目和创建路由)

    摘要:启动服务,并打开新窗口可简写创建新组件可简写创建新服务创建路由模块其他另外还有很多的命令提供,详细可以查阅官方文档命令。引入路由模块导出路由模块的指令这里需要添加一个数组,并传入,导出让路由器的相关指令可以在中的组件中使用。 本文目录 一、项目起步 二、编写路由组件 三、编写页面组件 1.编写单一组件 2.模拟数据 3.编写主从组件 四、编写服务 1.为什么需要服务 2....

    bergwhite 评论0 收藏0
  • 浅析微服务框架 Helidon 的使用

    摘要:零前期准备版本版本核心依赖包支持包简介是官方出品的微服务框架,底层基于驱动,大致的使用套路和相差不是很多笔者只是浅浅的了解过,可能存在理解不透的情况。一配置中的配置类有两种,一种是用于读取配置文件的,另一种是用于配置服务器对象的。 零 前期准备 0 版本 JDK 版本 : OpenJDK 11.0.1 IDE : idea 2018.3 Helidon Webserver : heli...

    dockerclub 评论0 收藏0

发表评论

0条评论

Steven

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<