# 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 附錄