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 '我是后置操作';
    }
  • 相关阅读:
    xshell常用命令
    linux传输文件命令: rz 和 sz
    使用openssh-clients的scp命令来传输文件
    RabbitMQ初学之二:直接发送消息到队列
    [App]华为P6设置与Xamarin Studio连通测试
    [Boost]图形处理库Boost::Polygon
    [App]Taste VS2015 && Android Studio
    [Linux&Vim]输入输出流
    [SSD大法好]神舟K480-I5-D3鸟枪换炮M6S
    [IoLanguage]Io Tutorial[转]
  • 原文地址:https://www.cnblogs.com/gyfluck/p/9041407.html
Copyright © 2011-2022 走看看