有没有另一种更有效的方法在 laravel 8 中嵌套前缀和名称前缀,不需要使用这么多组?



我看到了嵌套前缀和名称前缀的好方法,但这太冗长了。此外,对于很少的请求,这是可以接受的,但当有很多请求时,创建组可能会有问题。这是一个玩具的例子。

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函数中组合prefixes、names和middlewares,这将在一定程度上整理:

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 () {
...
});

相关内容

最新更新