# 路由
此页面参照了EasySwoole Distributed的文档,原文档地址
[https://www.kancloud.cn/tmtbe/goswoole/108611](https://www.kancloud.cn/tmtbe/goswoole/108611)
路由是应用开发中比较关键的一个环节,其主要作用包括但不限于:
* 让URL更规范以及优雅;
* 隐式传入额外请求参数;
* 统一拦截并进行权限检查等操作;
* 绑定请求数据;
* 使用请求缓存;
* 路由中间件支持;
路由解析的过程一般包含:
* 路由定义:完成路由规则的定义和参数设置;
* 路由检测:检查当前的URL请求是否有匹配的路由;
* 路由解析:解析当前路由实际对应的操作;
* 路由调度:执行路由解析的结果调度;
掌握路由主要是要掌握路由定义及参数设置,其它环节是由系统自动完成的。
> 路由的主体规划和定义应该尽可能在应用开发前完成,在后期可以进行路由的参数调整和规则增补。
## 路由定义
> 路由规则的注册是在应用的 `控制器` 文件中完成。路由定义和检测是针对`所有端口`的,因此如果你不指定路由绑定的端口,那么路由地址会在所有端口上生效。
路由支持注解和配置文件的方式来配置,虽然支持配制文件制定,但是我们`强烈建议使用注解`方式,因为简单,高效。
- 1 介绍
- 2 安装
- 2.1 环境
- 2.2 安装
- 3 配置
- 3.1 Server配置
- 3.2 端口配置
- 3.3 项目结构
- 3.4 内核优化
- 4 服务
- 4.1 HTTP服务
- 4.1.1 路由
- 4.1.1.1 静态路由
- 4.1.1.2 路由定义
- 4.1.1.3 路由方法
- 4.1.1.4 路由分组
- 4.1.1.5 资源路由
- 4.1.1.6 端口作用域
- 4.1.1.7 异常处理
- 4.1.1.8 跨域请求
- 4.1.1.9 路由缓存
- 4.1.2 控制器
- 4.1.2.1 控制器初始化
- 4.1.2.2 前置后置操作
- 4.1.2.3 跳转与重定向
- 4.1.2.4 异常处理
- 4.1.3 请求
- 4.1.3.1 请求对象
- 4.1.3.2 请求信息
- 4.1.3.3 REQUEST消息
- 4.1.3.4 RESPONSE消息
- 4.1.3.5 STREAM消息
- 4.1.3.6 URI信息
- 4.1.3.7 处理上传文件
- 4.1.3.8 验证器
- 4.2 Websocket服务
- 4.2.1 Websocket配置
- 4.2.2 Websocket路由
- 4.3 TCP服务
- 4.3.1 TCP配置
- 4.3.2 TCP路由
- 4.3.3 协程处理案例
- 5 插件
- 5.15 Yii-PDO插件
- 5.15.1 PDO 连接MySQL Mariadb
- 5.15.2 PDO连接PostgreSQL
- 5.15.3 PDO连接GreenPlum
- 5.15.4 PDO连接Oracle
- 5.15.5 PDO连接Cubrid
- 5.15.6 PDO连接SQL Server
- 6 概念
- 7. Yii- I18N国际化
- 8. 模型 Yii-Model
- 8.1 快速创建模型
- 8.2 快速创建多个模型
- 8.3 核心验证器 Core Validators
- 9. 配合数据库工作
- 9.1.数据库访问对象 Database Access Objects
- 9.2 查询构造器 Query Builder
- 9.3 活动记录 Active Record