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);
}
}