码迷,mamicode.com
首页 > 其他好文 > 详细

10、Controller之middleware

时间:2020-06-22 22:27:46      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:页面   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); //这是前置中间件
        //在这个请求之前操作,前置中间件
        //在这个请求之后操作,后置中间件
    }
}

 

10、Controller之middleware

标签:页面   closure   ace   str   war   命名空间   fun   route   func   

原文地址:https://www.cnblogs.com/mingliangge/p/13179475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!