中间件有什么用
Laravel中间件提供一个方便的机制来过滤进入应用程序的HTTP请求
场景
有一个活动,在指定日期后开始,如果活动没开始只能访问宣传页面
在App\Http\Middleware新建中间件:
命名为Activity.php
<?php
namespace App\Http\Middleware;
use Closure; //这是一个全局的类
class Activity
{
// 前置操作
public function handle($request, Closure $next) //Closure是PHP全局的一个类(闭包函数)
{
if(time() < strtotime('2019-04-11')) {
return redirect('activity0');
}
return $next($request);
}
}
在namespace App\Http、Kernel.php中添加中间件:
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'cache.header