我看到了嵌套前缀和名称前缀的好方法,但这太冗长了。此外,对于很少的请求,这是可以接受的,但当有很多请求时,创建组可能会有问题。这是一个玩具的例子。
Route::prefix('auth')->group(function () {
Route::name('auth.')->group(function () {
Route::get('login', [MainController::class, 'login'])->name('login');
Route::get('register', [MainController::class, 'register'])->name('register');
});
});
我试过这个,但失败了。
Route::name('auth.')->group(['prefix'=>'auth'], function () {
Route::get('login', [MainController::class, 'login'])->name('login');
Route::get('register', [MainController::class, 'register'])->name('register');
});
有没有另一种更有效的方法可以在laravel 8中嵌套前缀和名称前缀,而不需要使用这么多组?
我使用的是Laravel 8文档的路由组部分。
您可以在group
函数中组合prefix
es、name
s和middleware
s,这将在一定程度上整理:
Route::group(['prefix' => 'auth', 'as' => 'auth.'], function () {
Route::get('login', [MainController::class, 'login'])->name('login');
Route::get('register', [MainController::class, 'register'])->name('register')
});
如果要在组中指定middleware
,只需将其添加到group
函数的第一个参数中的数组中即可。
Route::group(['prefix' => 'auth', 'as' => 'auth.', 'middleware' => [...]], function () {
...
});