Laravel通过Route::group()对路由分组,可统一设置prefix和middleware;如为admin路径添加auth中间件,或嵌套分组实现api版本控制,提升项目可维护性。

Laravel 的路由分组功能可以让你对一组路由统一设置前缀、中间件、命名空间等属性,避免重复代码,提升可维护性。下面介绍如何使用路由分组设置前缀和中间件。
Laravel 提供 Route::group() 方法来包裹多个路由,通过传入一个数组定义共用的属性,比如 prefix(前缀)和 middleware(中间件)。
示例:添加前缀和中间件
将后台管理相关路由统一加上 /admin 前缀,并要求用户已登录(使用 auth 中间件):
Route::group(['prefix' => 'admin', 'middleware' => 'auth'], function () {
Route::get('/dashboard', [AdminController::class, 'dashboard']);
Route::get('/users', [AdminController::class, 'users']);
Route::post('/users/create', [AdminController::class, 'createUser']);
});访问这些路由时,实际 URL 会是:
如果需要多个中间件,可以把它们写成数组形式:
Route::group([
'prefix' => 'admin',
'middleware' => ['auth', 'verified', 'role:admin']
], function () {
Route::get('/settings', [AdminController::class, 'settings']);
Route::put('/update', [AdminController::class, 'update']);
});这里要求用户已登录、邮箱已验证,并且角色为 admin 才能访问。
你还可以嵌套分组,实现更精细的控制。例如,给 API 路由设置版本前缀和中间件:
Route::group(['prefix' => 'api/v1', 'middleware' => 'api'], function () {
Route::group(['prefix' => 'user', 'middleware' => 'auth:api'], function () {
Route::get('/profile', [Api\UserController::class, 'profile']);
Route::post('/update', [Api\UserController::class, 'update']);
});
});这样,/api/v1/user/profile 就会应用 api 和 auth:api 两层中间件。
基本上就这些。合理使用路由分组,能让项目结构更清晰,权限和路径管理也更方便。
以上就是Laravel路由分组怎么写_Laravel Route Group前缀与中间件的详细内容,更多请关注php中文网其它相关文章!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号