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  在此之间的就是前置操作,后面的就是后置操作。。。。。

  • 相关阅读:
    php CI笔记
    Apache 2.4权限设置( you don't have permission to access / on this server Apache2.4)
    关闭浏览器时退出登录
    onunload 和 onbeforeunload都不执行
    apache ab压力测试工具需要用户登录才能测得时候怎么办?
    《国富论》读书笔记
    数据库设计技巧
    溜到不行。。
    Session和Cookie
    c#缓存
  • 原文地址:https://www.cnblogs.com/polax/p/13323707.html
Copyright © 2011-2022 走看看