姿势1
使用$request->attributes->add($arr)方法
Demo:
注册中间件这部分就不说了 主要说用法
下面来看结果:
my_params是传的参,mid_params是中间件生成的参
姿势2
使用$request->merge($arr)方法
Demo:
结果:
merge后$request->input()能获取到所有的参数
以上这篇laravel在中间件内生成参数并且传递到控制器中的2种姿势就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
使用$request->attributes->add($arr)方法
Demo:
注册中间件这部分就不说了 主要说用法
1 2 3 4 5 6 7 8 9 10 | class MidParams //中间件 { public function handle( $request , Closure $next ) { $mid_params = [ 'mid_params' => 'this is mid_params' ]; $request ->attributes->add( $mid_params ); //添加参数 return $next ( $request ); //进行下一步(即传递给控制器) } } |
1 2 3 4 5 6 7 8 9 | class MidController extends Controller { //控制器 public function testMidFunc(Request $request ) { $input_params = $request ->input(); //获取参数 $mid_params = $request ->get( 'mid_params' ); //中间件产生的参数 return [ 'my_params' => $input_params , 'mid_params' => $mid_params ]; //注意:$request->attributes->add这种方法 input()取不到值 只能用get('xxx')取到值 } } |
下面来看结果:
my_params是传的参,mid_params是中间件生成的参
姿势2
使用$request->merge($arr)方法
Demo:
1 2 3 4 5 6 7 8 9 | class MidParams //中间件 { public function handle( $request , Closure $next ) { $mid_params = [ 'mid_params' => 'this is mid_params' ]; $request ->merge( $mid_params ); //合并参数 return $next ( $request ); } } |
1 2 3 4 5 6 | class MidController extends Controller { //控制器 public function testMidFunc(Request $request ) { $all_params = $request ->input(); //获取参数 return [ 'all_params' => $all_params ]; } } |
结果:
merge后$request->input()能获取到所有的参数
以上这篇laravel在中间件内生成参数并且传递到控制器中的2种姿势就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://www.phpxs.com/post/7036/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取