博客列表 >laravel框架基础_1108(路由中间件)

laravel框架基础_1108(路由中间件)

Jet的博客
Jet的博客原创
2019年11月13日 09:51:48779浏览

创建中间件也是有两种方法,一个是直接新建文件,一个是命令行创建


一、新建文件

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 '这是公司核心数据,只有管理员才能查看';
    }
}


运行示意图:

01.jpg





二、命令行方式创建:

Php artisan make:middleware CheckAge

创建后,和之前步骤一样,注册中间件,修改路由地址,修改控制器文件。








声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议