zoukankan      html  css  js  c++  java
  • Laravel 控制器的middleware中间件

    场景:活动开始前只能访问宣传页面,开始后才可以访问其他页面:

    步骤:

    新建中间件,

    注册中间件,

    使用中间件,

    中间件的前置和后置操作。

    控制器:

    public function activity0(){
    return '活动快要开始啦,敬请期待';
    }
    public function activity1(){
    return '活动页面1';
    }
    public function activity2(){
    return '活动页面2';
    }

    路由:
    Route::any('activity0',['uses'=>'StudentController@activity0']);
    Route::any('activity1',['uses'=>'StudentController@activity1']);
    Route::any('activity2',['uses'=>'StudentController@activity2']);

    在AppHttpMiddleware下创建中间件Activity.php:
    namespace AppHttpMiddleware;
    use Closure;

    class Activity{
    public function handle($request,Closure $next){
    if(time() < strtotime('2018-01-01')){
    return redirect('activity0');
    }
    return $next($request);
    }
    }

    //注册中间件,在Kernel.php中的$routeMiddleware数组中增加
    protected $routeMiddleware = [
    'activity' => AppHttpMiddlewareActivity::class,
    ];


    使用中间件,路由中的设置
    //宣传页面不需要中间件验证,不能放里边
    Route::any('activity0',['uses'=>'StudentController@activity0']);

    Route::group(['middleware'=>['activity']],function(){
    Route::any('activity1',['uses'=>'StudentController@activity1']);
    Route::any('activity2',['uses'=>'StudentController@activity2']);
    });



    //后置中间件
    public function handle($request,Closure $next){
    $response = $next($request);
    echo $response;
    echo '我是后置操作';
    }
  • 相关阅读:
    免费试用Windows Azure云平台(无须提供信用卡)
    如何下载Ubuntu命令对应的源码
    Unix编程艺术——优化、工具、重用、可移植性、文档
    Choice of Xen Toolstacks
    [转]数据驱动编程之表驱动法
    获取Centos命令对应的源码
    Unix编程艺术——配置
    [转]vim ctags使用方法
    format and indent xml
    python得到本地网卡的IP
  • 原文地址:https://www.cnblogs.com/gyfluck/p/9041407.html
Copyright © 2011-2022 走看看