一、路由分组
- 路由分组:将相同前缀的路由合并分组,简化路由定义,提高匹配效率;
- 使用 group() 方法,来进行分组路由的注册;
Route::group('address',function(){
Route::rule(':id','Address/destails');
Route::rule(':name','Address/search');
})->ext('html')->pattern(['id'=>'\d+','name'=>'\w+']);
- 也可以省去第一个参数,让分组路由更灵活一些;
Route::group(function(){
Route::rule('ds/:id','Address/details');
Route::rule('sr/:name','Address/search');
})->ext('html')->pattern(['id'=>'\d+','name'=>'\w+']);
- 使用 prefix() 方法,可以省略分组地址里的控制器
Route::group('address',function(){
Route::rule(':id','details');
Route::rule(':name','search');
})->ext('html')->prefix('Address/')->pattern(['id'=>'\d+','name'=>'\w+']);
- 使用 append() 方法,可以额外传入参数;
Route::group('address',function(){
Route::rule(':id','details');
Route::rule(':name','search');
})->ext('html')->prefix('Address/')->pattern(['id'=>'\d+','name'=>'\w+'])->append(['status'=>1]);
- 路由规则(主要是分组和域名路由)定义的方件,加载时会解析消耗较多的资源;
- 尤其是规则特别庞大的时候,延迟解析开启让你只会在匹配的时候才会注册解析;
- 我们在 route.php 中开启延迟解析,减少内存占用;
'url_lazy_route' => true,
二、路由MISS
- 全局 MISS ,类似开启强制路由的功能,匹配不到相应规则时自动跳传到 MISS;
Route::miss('public/miss');
- 分组 MISS ,可以在分组中使用 miss 方法,当不满足匹配规则时跳转到这里;
Route::miss('miss');
|