laravel路由分组也是laravel路由中一个比较重要的概念它可以简化我们路由的写法。

当我们的路由中有相同的前缀时可以使用路由分组。

通过路由分组我们实现系统的登录、权限和参数校验等功能。

语法

Route::group( [ ] , callback); 

参数

[]: 可以使用prefix前缀和中间件。

路由前缀和中间件例子

/**
 * 路由前缀admin
 */
Route::group(['prefix' => 'admin'], function (){
    /**
     * 这里使用了中间件 auth,可以做登录校验或者权限
     */
    Route::group(['middleware' => 'authCheck'], function (){
        /**
         * /admin/user
         */
        Route::get('/user', function (){

        });

        Route::get('/article', function (){
            
        });
    });
    
    /**
     * 访问路径是:/admin
     */
    Route::get('/', function (){
        
    });;
});

中间件代码,中间件的创建和使用参考 laravel 路由中间件

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class AuthCheck
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse)  $next
     * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
     */
    public function handle(Request $request, Closure $next)
    {
        //echo "yxjc123"; //todo 使用session判断是否登录,这里不再具体实现,如果登录则不管,没有登录则返回未登录的错误信息。
        return $next($request);
    }
}