在请求之前
`
在请求之
`
在请求之前
1 2 3 4 5 6 7
| <?php class BeforeMiddleware { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { //在请求处理前执行业务逻辑操作 return $next($request); } }
|
在请求之后
1 2 3 4
| public function handle($request, Closure $next) { $response = $next($request); //在请求处理后执行业务逻辑操作 return $response; }
|
在路由中给中间件发送参数,这里的test1:male就是给test1中间件传递male参数
1 2 3 4 5 6
| Route::group(['middleware' => 'test1:male'], function () { Route::get('/write/laravelacademy', function () { //使用Test中间件 }); Route::get('/update/laravelacademy', function () {//使用Test中间件 }); });
|
然后中间件可以接收参数,这里的$gender变量便是接收的参数
1 2 3 4 5 6 7
| public function handle($request, Closure $next, $gender) { if ($request->input('age') >= 18 && $gender == $request->input('gender')) { return $next($request); } else { return redirect()->route('refuse'); } }
|