laravel在中间件内生成参数并传递
xuexi 2023-10-07 14:57:55 发表在:PHP 查看数:979

方法一:使用$request->attributes->add($arr)方法

主要代码如下,亲测可用:

$mid_params = ['mid_params'=>'this is mid_params'];

$request->attributes->add($mid_params);//添加数组参数

return $next($request);//进行下一步(即传递给控制器)

接收参数,

$mid_params = $request->get('mid_params');//中间件产生的参数

另一种

比如在中间件中检查了用户的 token ,通过后解析成 id 之后 ,可以附加到请求中传给控制器进行下一步操作

<?php

$token = request()->header('userToken');

//检查token...

$userId = Crypt::decrypt($token);

可以附加到请求头中

<?php

public function handle(Request $request, Closure $next)
{

//......

$request->headers->set('userId' , $userId);
return $next($request);

在控制器中接收

 <?php

public function info(Request $request){

    $userId = $request->header('userId');

}
最近访问时间:2025-04-30 20:41:16
知识库:340条鸣谢:TAY  备案号:蜀ICP备2024090044号