【laravel5.6】 laravel中间件内生成参数并且传递到控制器的2种方法

中间件方法:

 /**
     * 自定义中间件: 
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {//传值到控制器
        $mid_params = ['mid_params'=>'这是中间件的值'];
        //方法一:
        // $request->merge($mid_params);
        //方法二:
        $request->attributes->add($mid_params);

        return $next($request);
    }

控制器 接收

use Illuminate\Http\Request;
 //校验是否有更新
 public function index(Request $request){
      $mid_params = $request->get('mid_params');//中间件产生的参数
      return $mid_params;  
 }

猜你喜欢

转载自www.cnblogs.com/richerdyoung/p/10052914.html