Eyoucms程序开发:路由分组

站长学院 0次 来源:天荣CMS 收藏

路由分组

路由分组功能允许把相同前缀的路由定义合并分组,这样可以提高路由匹配的效率,不必每次都去遍历完整的路由规则。

例如,我们有定义如下两个路由规则的话

'blog/:id'   => ['Blog/read', ['method' => 'get'], ['id' => '\d+']],
'blog/:name' => ['Blog/read', ['method' => 'post']],

可以合并到一个blog分组

'[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']],
]);

可以给分组路由定义一些公用的路由设置参数,例如:

Route::group('blog',[
    ':id'   => ['Blog/read', [], ['id' => '\d+']],
    ':name' => ['Blog/read', [],
],['method'=>'get','ext'=>'html']);

支持使用闭包方式注册路由分组,例如:

Route::group('blog',function(){
    Route::any(':id','blog/read',[],['id'=>'\d+']);
    Route::any(':name','blog/read',[],['name'=>'\w+']);
},['method'=>'get','ext'=>'html']);

如果仅仅是用于对一些路由规则设置一些公共的路由参数,也可以使用:

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+']);
    }
});

免责声明:1.凡本站注明“来源:XXX(非天荣模板网)”的作品,均转载自其它媒体,所载的文章、图片、音频视频文件等资料的版权归版权所有人所有,如有侵权,请联系tianrongcms#foxmail.com处理;2.凡本站转载内容仅代表作者本人观点,与天荣模板网无关。凡本站转载内容仅代表作者本人观点,与本站无关。

凡本站转载内容仅代表作者本人观点,与本站无关。

相关文档

0 条评论

网友留言

免责声明:1.凡本站注明"来源:XXX(非本站)"的作品,均转载自其它媒体,所载的文章、图片、音频视频文件等资料的版权归版权所有人所有,如有来源标注错误或侵犯了您的合法权益,请联系本站处理;2.本站部分内容转载自老K模板网(www.laokcms.com),转载内容仅代表作者本人观点,与本站无关。