路由是应用开发中比较关键的一个环节,其主要作用包括但不限于:
* 让URL更规范以及优雅;
* 隐式传入额外请求参数;
* 统一拦截并进行权限检查等操作;
* 绑定请求数据;
* 使用请求缓存;
* 路由中间件支持;
路由解析的过程一般包含:
* 路由定义:完成路由规则的定义和参数设置;
* 路由检测:检查当前的URL请求是否有匹配的路由;
* 路由解析:解析当前路由实际对应的操作;
* 路由调度:执行路由解析的结果调度;
掌握路由主要是要掌握路由定义及参数设置,其它环节是由系统自动完成的。
>[danger] 路由的主体规划和定义应该尽可能在应用开发前完成,在后期可以进行路由的参数调整和规则增补。
## 路由定义
>[info] 路由规则的注册是在应用的 `控制器` 文件中完成。路由定义和检测是针对`所有端口`的,因此如果你不指定路由绑定的端口,那么路由地址会在所有端口上生效。
路由支持注解和配置文件的方式来配置,虽然支持配制文件制定,但是我们`强烈建议使用注解`方式,因为简单,高效。
- 前言
- 捐赠ESD项目
- 使用篇-通用
- 环境
- 安装
- 规范
- 压力测试
- 配置
- 如何设置YML配置
- server配置
- 端口配置
- 项目结构
- 事件派发
- 日志
- 注解
- DI容器
- 自定义进程
- 并发及协程池
- Console插件
- Scheduled插件
- Redis插件
- AOP插件
- Saber插件
- Mysql插件
- mysql事务
- Actuator插件
- Whoops插件
- Cache插件
- PHPUnit插件
- Security插件
- Session插件
- EasyRoute插件
- http路由
- ProcessRpc插件
- AutoReload插件
- AnnotationsScan插件
- Tracing-plugin插件
- MQTT插件
- Pack插件
- AMQP插件
- Validate插件
- Uid插件
- Topic插件
- Blade插件
- CsvReader插件
- hashed-wheel-timer-plugin插件
- 使用篇-HTTP
- 路由
- 静态文件
- 路由定义
- 修饰方法
- 路由分组
- 资源路由
- 端口作用域
- 异常处理
- 跨域请求
- 路由缓存
- 控制器
- 控制器初始化
- 前置操作
- 跳转和重定向
- 异常处理
- 请求
- 请求对象
- 请求信息
- request消息
- response消息
- stream消息
- url接口
- 验证器
- 内置验证器
- 内置过滤器
- 使用篇-WS
- 如何使用
- 路由
- 使用篇-TCP
- 插件篇-PluginSystem
- 微服务篇-ESDCloud
- CircuitBreaker插件
- SaberCloud插件
- 分布式链路追踪系统
- Consul插件