# 4.7 路由
任何一个MVC框架都有路由的功能,是解析请求的URI,将请求分发给相应的控制器和方法,然后进行逻辑处理。
## 内置路由
MSF框架默认路由器为`\PG\MSF\Route\NormalRoute`,也可以实现`\PG\MSF\Route\IRoute`接口类,自定义路由。
## 路由规则
内置路由支持无限层级的路由,即Controller可以无限嵌套目录,如:
http://127.0.0.1:8000/Backend/Config/Page
执行的方法为:\App\Controllers\Backend\Config::actionPage()
http://127.0.0.1:8000/a/b/c/d/f
如F为控制器名,执行的方法为:\App\Controllers\A\B\C\D\F::actionIndex()
如F为方法名,执行的方法为:\App\Controllers\A\B\C\D::actionF()
## 路由缓存
默认开启了路由缓存,也即解析一次请求之后,后续请求会使用路由缓存来将请求分发到相应的控制器动作。如果由于某些需求不能缓存路由,需要用户自行继承`PG\MSF\Route\NormalRoute`将属性`enableCache`设置为false。4.8 小结
- 0 文档说明
- 1 为什么研发新框架
- 1.1 传统php-fpm工作模式的问题
- 1.2 压测数据对比
- 1.3 小结
- 2 微服务框架研发概览
- 2.1 通信框架技术选型
- 2.2 swoole
- 2.3 协程原理
- 2.4 异步、并发
- 2.5 小结
- 3 框架运行环境
- 3.1 环境变量
- 3.2 运行代码
- 3.3 docker
- 3.4 小结
- 4 框架结构
- 4.1 结构概述
- 4.2 控制器
- 4.3 模型
- 4.4 视图
- 4.5 同步任务
- 4.6 配置
- 4.7 路由
- 4.8 小结
- 5 框架组件
- 5.1 协程
- 5.2 类的加载
- 5.3 异步Http Client
- 5.4 请求上下文
- 5.5 连接池
- 5.6 对象池
- 5.7 RPC
- 5.8 公共库
- 5.9 RESTful
- 5.10 多语言
- 5.11 杂项
- 5.12 小结
- 6 常见问题
- 7 附录