第六天 ThinkPHP5路由实验(二)路由分组实验
路由分组功能允许把相同前缀的路由定义合并分组,这样可以简化路由定义,并且提高路由匹配的效率,不必每次都去遍历完整的路由规则 点此查看路由演示
使用Route类的group方法进行注册,给分组路由定义一些公用的路由设置参数,使用规范如下
Route::group('分组名(字符串)或者分组路由参数(数组)','分组路由规则(数组或者闭包)');
Route::group('group', function () {
Route::get('read/:id', 'group/read');
Route::get('write/:id', 'group/write');
Route::get('del/:id', 'group/del');
Route::get('index/:id', 'group/index');
})->ext('html')->pattern(['id' => 'd+']);
使用前缀 prefix
Route::group('group', function () {
Route::get('read/:id', 'read');
Route::get('write/:id', 'write');
Route::get('del/:id', 'del');
Route::get('index/:id', 'index');
})->prefix('group/')->ext('html')->pattern(['id' => 'd+']);
使用前缀虽然可以简化路由书写,但在使用时也产生一些局限,比如路由到 group/index应需要写成
url('index')
而不是之前的
url('group/index')
很明显,冲突已经在所难免,解决的办法是使用别名
Route::group('group', function () {
Route::get('read/:id', 'read')->name('group_read');;
Route::get('write/:id', 'write')->name('group_write');;
Route::get('del/:id', 'del')->name('group_del');;
Route::get('index/:id', 'index')->name('group_index');;
})->prefix('group/')->ext('html')->pattern(['id' => 'd+']);
但这样写,说好的简化去哪里了……,当然,使用别名还是有其他好处的。
***管理员屏蔽***
***管理员屏蔽***