laravel在中间件内生成参数并且传递到控制器中的2种姿势
发布:smiling 来源: PHP粉丝网 添加日期:2022-01-04 19:48:15 浏览: 评论:0
今天小编就为大家分享一篇laravel在中间件内生成参数并且传递到控制器中的2种姿势,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。
姿势1
使用$request->attributes->add($arr)方法
Demo:
注册中间件这部分就不说了 主要说用法
- class MidParams //中间件
- {
- public function handle($request, Closure $next)
- {
- $mid_params = ['mid_params'=>'this is mid_params'];
- $request->attributes->add($mid_params);//添加参数
- return $next($request);//进行下一步(即传递给控制器)
- }
- }
- 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:
- class MidParams //中间件
- {
- public function handle($request, Closure $next)
- {
- $mid_params = ['mid_params'=>'this is mid_params'];
- $request->merge($mid_params);//合并参数
- return $next($request);
- }
- }
- class MidController extends Controller { //控制器
- public function testMidFunc(Request $request) {
- $all_params = $request->input();//获取参数
- return ['all_params'=>$all_params];
- }
- }
结果:
merge后$request->input()能获取到所有的参数
Tags: laravel中间件 laravel内生成参数
相关文章
- ·Laravel框架基于中间件实现禁止未登录用户访问页面功能示例(2021-11-04)
- ·Laravel 6 将新增为指定队列任务设置中间件的功能(2021-12-09)
- ·laravel利用中间件防止未登录用户直接访问后台的方法(2021-12-25)
- ·Laravel获取当前请求的控制器和方法以及中间件的例子(2022-01-01)
- ·浅谈Laravel中的三种中间件的作用(2022-01-02)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)