路由分組
路由分組
路由分組功能允許把相同前綴的路由定義合并分組,這樣可以提高路由匹配的效率,不必每次都去遍歷完整的路由規(guī)則。
例如,我們有定義如下兩個(gè)路由規(guī)則的話
'blog/:id' => ['Blog/read', ['method' => 'get'], ['id' => '\d+']],
'blog/:name' => ['Blog/read', ['method' => 'post']],
可以合并到一個(gè)blog分組
'[blog]' => [
':id' => ['Blog/read', ['method' => 'get'], ['id' => '\d+']],
':name' => ['Blog/read', ['method' => 'post']],
],
可以使用Route
類的group
方法進(jìn)行注冊(cè),如下:
Route::group('blog',[
':id' => ['Blog/read', ['method' => 'get'], ['id' => '\d+']],
':name' => ['Blog/read', ['method' => 'post']],
]);
可以給分組路由定義一些公用的路由設(shè)置參數(shù),例如:
Route::group('blog',[
':id' => ['Blog/read', [], ['id' => '\d+']],
':name' => ['Blog/read', [],
],['method'=>'get','ext'=>'html']);
支持使用閉包方式注冊(cè)路由分組,例如:
Route::group('blog',function(){
Route::any(':id','blog/read',[],['id'=>'\d+']);
Route::any(':name','blog/read',[],['name'=>'\w+']);
},['method'=>'get','ext'=>'html']);
如果僅僅是用于對(duì)一些路由規(guī)則設(shè)置一些公共的路由參數(shù),也可以使用:
Route::group(['method'=>'get','ext'=>'html'],function(){
Route::any('blog/:id','blog/read',[],['id'=>'\d+']);
Route::any('blog/:name','blog/read',[],['name'=>'\w+']);
});
路由分組支持嵌套,例如:
Route::group(['method'=>'get','ext'=>'html'],function(){
Route::group('blog',function(){
Route::any('blog/:id','blog/read',[],['id'=>'\d+']);
Route::any('blog/:name','blog/read',[],['name'=>'\w+']);
}
});
文檔最后更新時(shí)間:2018-04-25 19:33:28
未解決你的問(wèn)題?請(qǐng)到「問(wèn)答社區(qū)」反饋你遇到的問(wèn)題