Laravel中如何使用正则表达式路由前缀?
How to Use Regex to Route Prefix in Laravel?
简介:
我有一个带有动态前缀的自定义路由组:
Route::prefix('{nickname}')->group(function () {
Route::get('/', function($nickname) {
return view('profile');
})->where(['nickname' => '[a-z]+']);
Route::get('/edit', function($nickname) {
return view('profile.edit');
})->where(['nickname' => '[a-z]+']);
});
如您所见,在每条路线上,我都通过正则表达式检查前缀的正确性。
注意:我也用了->where(['nickname' => '[a-z]+'])
路由组,但是报错了。
错误信息:
Call to a member function where() on null
问题:
如何解决只检查一次的问题?
用这个希望对你有帮助
Route::group(['prefix' => '{nickname}','where' => ['nickname' => '[a-z]+']],function ($nickname) {
Route::get('/', function($nickname) {
return view('profile');
});
Route::get('/edit', function($nickname) {
return view('profile.edit');
});
});
Route::group
有 attributes
参数。可用参数之一是 where
.
Route::group([
'prefix' => '{nickname}',
'where' => ['nickname' => '[a-z]+']
], function ($nickname) {
Route::get('/', function($nickname) {
return view('profile');
});
Route::get('/edit', function($nickname) {
return view('profile.edit');
});
});
简介:
我有一个带有动态前缀的自定义路由组:
Route::prefix('{nickname}')->group(function () {
Route::get('/', function($nickname) {
return view('profile');
})->where(['nickname' => '[a-z]+']);
Route::get('/edit', function($nickname) {
return view('profile.edit');
})->where(['nickname' => '[a-z]+']);
});
如您所见,在每条路线上,我都通过正则表达式检查前缀的正确性。
注意:我也用了->where(['nickname' => '[a-z]+'])
路由组,但是报错了。
错误信息:
Call to a member function where() on null
问题:
如何解决只检查一次的问题?
用这个希望对你有帮助
Route::group(['prefix' => '{nickname}','where' => ['nickname' => '[a-z]+']],function ($nickname) {
Route::get('/', function($nickname) {
return view('profile');
});
Route::get('/edit', function($nickname) {
return view('profile.edit');
});
});
Route::group
有 attributes
参数。可用参数之一是 where
.
Route::group([
'prefix' => '{nickname}',
'where' => ['nickname' => '[a-z]+']
], function ($nickname) {
Route::get('/', function($nickname) {
return view('profile');
});
Route::get('/edit', function($nickname) {
return view('profile.edit');
});
});