laravel在中间件内生成参数并传递
方法一:使用$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