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;  
 }
头像
  • ¥ 99.0元
  • 市场价:99.0元
  • ¥ 99.0元
  • 市场价:99.0元
  • ¥ 129.0元
  • ¥ 798.0元
  • 市场价:1298.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: