zoukankan      html  css  js  c++  java
  • Laravel 中间件的使用(前置与后置)

    中间件的作用:

    过滤进入应用程序的http请求。

    比如,有一个活动,在活动开始前进入活动页则跳转到宣传页

    使用步骤:

    1 创建中间件 appHttpMiddlewareActivity.php

    php artisan make:middleware Activity
    <?php
    
    namespace AppHttpMiddleware;
    
    use Closure;
    
    class Activity
    {
        /**
         * Handle an incoming request.
         * @param  IlluminateHttpRequest  $request
         * @param  Closure  $next
         * @return mixed
         */
    
        public function handle($request,Closure $next){
    
            if(time() < strtotime('2020-08-06')){
                return redirect('activity0');
            }
            return $next($request);
        }
    }

    2 控制器方法 appHttpControllersStudentController.php

        public function activity0()
        {
            return '活动快要开始了';
        }
    
        public function activity1()
        {
            return '活动进行中,感谢你的参与1';
        }
        public function activity2()
        {
            return '活动进行中,感谢你的参与2';
        }

    3 设置路由 outesweb.php

    //宣传页面
    Route::any('activity0',['uses'=>'StudentController@activity0']);
    
    //活动页面:
    Route::group(['middleware'=>['activity']],function (){
        Route::any('activity1',['uses'=>'StudentController@activity1']);
        Route::any('activity2',['uses'=>'StudentController@activity2']);
    });

    4 注册路由 appHttpKernel.php

        protected $routeMiddleware = [
           。。。。。
            'activity' => AppHttpMiddlewareActivity::class,
        ];

     前置操作与后置操作

        public function handle($request,Closure $next)
        {
            echo '【我是前置操作】';
            $response = $next($request);//$next($request)本质上就是response
            echo($response);
            echo '【我是后置操作】';
        }

    $next($request)就是response  在此之间的就是前置操作,后面的就是后置操作。。。。。

  • 相关阅读:
    【ybtoj】【kmp】公共子串
    【ybtoj】【Hash】最大分离度
    【哈希表模板(链前版本)】【ybtoj】【特殊序列】
    【ybtoj】【单调队列】出题方案
    【ybtoj】【单调队列】写博客
    【ybtoj】【线段树】魔法传输
    【ybtoj】【单调队列入门专题】
    OS:3-存储管理
    OS:2-处理器管理
    OS:1-操作系统概观
  • 原文地址:https://www.cnblogs.com/polax/p/13323707.html
Copyright © 2011-2022 走看看