创建中间件也是有两种方法,一个是直接新建文件,一个是命令行创建
一、新建文件
1、创建中间件文件:CheckAge.php
<?phpnamespace App\Http\Middleware;
use Closure;
/**
*
*/
class CheckAge
{
//handle方法名称是固定的
public function handle($req, Closure $next)
{
//登录后,从session拿数据
$username = 'adminasd';
//如果username不是admin就不允许查看数据
if($username != 'admin'){
exit('不允许查看');
} echo 'checkAge中间件已执行完毕'; return $next($req);
}
}
2、注册自定义的中间件 kemel.php文件,路径:app/Html/Kemel.php
在此方法中添加创建protected $routeMiddleware
// 在路由定义自己的中间件
'checkage' => \App\Http\Middleware\CheckAge::class,
3、修改路由文件
Route::get('/home','home@index')->middleware('checkage');
// 1、解析/home
// 2、$home = new Home();
/*
* new完后,执行中间件,如果true继续往下走,如果不行就中断。
*/
// 3、调用$home->index();
4、控制器文件 Home.php
<?php
namespace App\Http\Controllers;
use App\Models\Users;
use Illuminate\Http\Request;
class Home extends Controller
{
public function index(Request $req){
/*
if($is_login==false){
//跳转到登录页面
}
*/
echo '这是公司核心数据,只有管理员才能查看';
}
}
运行示意图:
二、命令行方式创建:
Php artisan make:middleware CheckAge
创建后,和之前步骤一样,注册中间件,修改路由地址,修改控制器文件。