|
17 | 17 |
|
18 | 18 | > 不同的版本有稍微的区别以适应不同的场景
|
19 | 19 |
|
20 |
| -- `ORouter` 通用版本,也是后几个版本的基础类。 |
| 20 | +- `ORouter` 通用版本,也是后几个版本的基础类,适用于所有的情况。 |
21 | 21 | - `SRouter` 静态类版本。`ORouter` 的简单包装,通过静态方法使用(方便小应用快速使用)
|
22 |
| -- `CachedRouter` 继承自`ORouter`,支持路由缓存的版本. 适合fpm使用(有缓存将会省去每次的路由收集和解析消耗) |
23 |
| -- `PreMatchRouter` 继承自`ORouter`,预匹配路由器。当应用的静态路由较多时,将拥有更快的匹配速度 |
24 |
| - - fpm 应用中,实际上我们在收集路由之前,已经知道了路由path和请求动作METHOD |
25 |
| -- `ServerRouter` 继承自`ORouter`,服务器路由。内置支持动态路由临时缓存. 适合swoole等常驻内存应用使用 |
26 |
| - - 最近请求过的动态路由将会缓存为一个静态路由信息,下次相同路由将会直接匹配命中 |
| 22 | +- `CachedRouter` 继承自`ORouter`,支持路由缓存的版本,可以 **缓存路由信息到文件** |
| 23 | + - 适合php-fpm 环境使用(有缓存将会省去每次的路由收集和解析消耗) |
| 24 | +- `PreMatchRouter` 继承自`ORouter`,预匹配路由器。**当应用的静态路由较多时,将拥有更快的匹配速度** |
| 25 | + - 适合php-fpm 环境,php-fpm 情形下,实际上我们在收集路由之前,已经知道了路由path和请求动作METHOD |
| 26 | +- `ServerRouter` 继承自`ORouter`,服务器路由。内置支持**动态路由临时缓存**. 适合 `swoole` 等**常驻内存应用**使用 |
| 27 | + - 最近请求过的动态路由将会缓存为一个静态路由信息,下次相同路由将会直接匹配命中 |
27 | 28 |
|
28 | 29 | **内置调度器:**
|
29 | 30 |
|
@@ -180,25 +181,38 @@ $router->any('/home', function() {
|
180 | 181 | $router->any('/404', function() {
|
181 | 182 | echo "Sorry,This page not found.";
|
182 | 183 | });
|
| 184 | +``` |
| 185 | + |
| 186 | +### 使用路由组 |
183 | 187 |
|
| 188 | +```php |
184 | 189 | // 路由组
|
185 |
| -$router->group('/user', function () { |
| 190 | +$router->group('/user', function ($router) { |
186 | 191 | $router->get('/', function () {
|
187 | 192 | echo 'hello. you access: /user/';
|
188 | 193 | });
|
189 | 194 | $router->get('/index', function () {
|
190 | 195 | echo 'hello. you access: /user/index';
|
191 | 196 | });
|
192 | 197 | });
|
| 198 | +``` |
| 199 | + |
| 200 | +### 使用控制器 |
193 | 201 |
|
| 202 | +```php |
194 | 203 | // 使用 控制器
|
195 | 204 | $router->get('/', App\Controllers\HomeController::class);
|
196 | 205 | $router->get('/index', 'App\Controllers\HomeController@index');
|
197 | 206 |
|
198 | 207 | // 使用 rest() 可以快速将一个控制器类注册成一组 RESTful 路由
|
199 | 208 | $router->rest('/users', App\Controllers\UserController::class);
|
| 209 | +``` |
| 210 | + |
| 211 | +### 备用路由处理 |
200 | 212 |
|
201 |
| -// 可以注册一个备用路由处理。 当没匹配到时,就会使用它 |
| 213 | +可以注册一个备用路由处理。当没匹配到时,就会使用它 |
| 214 | + |
| 215 | +```php |
202 | 216 | $router->any('*', 'fallback_handler');
|
203 | 217 | ```
|
204 | 218 |
|
|
0 commit comments