宝哥软件园

laravel在中间件内生成参数并且传递到控制器中的2种姿势

编辑:宝哥软件园 来源:互联网 时间:2021-08-19

姿势一

使用$请求-属性-添加($arr)方法

Demo:

注册中间件这部分就不说了主要说用法

类MidParams //中间件{公共函数句柄($请求,Closure $ next){ $ mid _ params=[' mid _ params '='这是mid _ params '];$ request-attributes-add($ mid _ params);//添加参数返回$ next($ request);//进行下一步(即传递给控制器)} }类中间控制器扩展了控制器{ //控制器公共函数testMidFunc(Request $ Request){ $ input _ params=$ Request-input();//获取参数$ mid _ params=$ request-get(' mid _ params ');//中间件产生的参数返回['my_params'=$input_params,' mid _ params '=$ mid _ params];//注意:$request-attributes-add这种方法输入()取不到值只能用get('xxx ')取到值}}下面来看结果:

我的参数是传的参,中_参数是中间件生成的参

姿势2

使用$请求-合并($arr)方法

Demo:

类MidParams //中间件{公共函数句柄($请求,Closure $ next){ $ mid _ params=[' mid _ params '='这是mid _ params '];$ request-merge($ mid _ params);//合并参数返回$ next($ request);} }类中间控制器扩展了控制器{ //控制器公共函数testMidFunc(Request $ Request){ $ all _ params=$ Request-input();//获取参数返回[' all _ params '=$ all _ params];}}结果:

合并后$请求-输入()能获取到所有的参数

以上这篇laravel在中间件内生成参数并且传递到控制器中的2种姿势就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

更多资讯
游戏推荐
更多+