路由分組
路由分組
路(lu)由分組功能允許把(ba)相同前綴的(de)(de)路(lu)由定義合(he)并分組,這樣(yang)可以提高路(lu)由匹(pi)配的(de)(de)效率,不(bu)必每次都(dou)去遍歷(li)完整的(de)(de)路(lu)由規則。
例如,我們有定義如下兩個路由(you)規則(ze)的(de)話(hua)
'blog/:id' => ['Blog/read', ['method' => 'get'], ['id' => '\d+']],
'blog/:name' => ['Blog/read', ['method' => 'post']],
可以(yi)合并到一個blog分(fen)組
'[blog]' => [
':id' => ['Blog/read', ['method' => 'get'], ['id' => '\d+']],
':name' => ['Blog/read', ['method' => 'post']],
],
可以使用Route類的group方法進行注冊,如下:
Route::group('blog',[
':id' => ['Blog/read', ['method' => 'get'], ['id' => '\d+']],
':name' => ['Blog/read', ['method' => 'post']],
]);
可(ke)以給分組路由定義一些公用的路由設置(zhi)參(can)數,例如:
Route::group('blog',[
':id' => ['Blog/read', [], ['id' => '\d+']],
':name' => ['Blog/read', [],
],['method'=>'get','ext'=>'html']);
支持使(shi)用閉包方式(shi)注(zhu)冊路由分組(zu),例如:
Route::group('blog',function(){
Route::any(':id','blog/read',[],['id'=>'\d+']);
Route::any(':name','blog/read',[],['name'=>'\w+']);
},['method'=>'get','ext'=>'html']);
如果僅(jin)僅(jin)是(shi)用(yong)于對一些路由規則(ze)設置一些公共的路由參數,也可以(yi)使用(yong):
Route::group(['method'=>'get','ext'=>'html'],function(){
Route::any('blog/:id','blog/read',[],['id'=>'\d+']);
Route::any('blog/:name','blog/read',[],['name'=>'\w+']);
});
路由分組(zu)支持嵌套,例如:
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+']);
}
});
文檔最后更新時間:2018-04-25 19:33:28
未解決你的問題?請到「問答社區」反饋你遇到的問題
