标签:页面 closure ace str war 命名空间 fun route func
路由中间件:达到某些要求就可以访问这个页面,达不到要求访问那个页面
一、编写控制器
public function middle1(){ return ‘尚未达到要求‘; } public function middle2(){ return ‘已达到要求,访问中‘; }
二、新建中间件,在 app / Http / Middleware 下,新建 Huodong.php
<?php namespace App\Http\Middleware; //命名空间 use Closure; class Huodong{ public function handle($request,Closure $next){ //写要求 if(time() < strtotime(‘2020-6-26‘)){ return redirect(‘middle1‘); } return $next($request); } }
三、注册中间件,app / Http / Kernel.php ,路由中间件在 protected $routeMiddleware 里面添加
‘huodong‘ => \App\Http\Middleware\Huodong::class, //中间件名字 ,中间件页面位置 ::class
四、编写路由
//不需要条件,可做宣传页 Route::get(‘/middle1‘,‘XxxController@middle1‘); //条件到达可访问,可做活动页,里面可以设置多个路由 Route::group([‘middleware‘ => [‘huodong‘]],function(){ //注册中间件时的名字 Route::get(‘/middle2‘,‘XxxController@middle2‘); });
辨别 前置 / 后置 中间件,在写中间件页面时判断 $next($request) 的先后顺序
<?php namespace App\Http\Middleware; //命名空间 use Closure; class Huodong{ public function handle($request,Closure $next){ if(time() < strtotime(‘2020-6-26‘)){ return redirect(‘middle1‘); } return $next($request); //这是前置中间件 //在这个请求之前操作,前置中间件 //在这个请求之后操作,后置中间件 } }
标签:页面 closure ace str war 命名空间 fun route func
原文地址:https://www.cnblogs.com/mingliangge/p/13179475.html