在中间件之间传递数据
Passing Data between middlewares
我创建了几个中间件,一个用于特定功能,我希望后续中间件使用从前一个中间件创建的数据,而不是从头开始生成。有没有办法做到这一点?我不确定我是否应该弄乱 $request
或 $next
.
您可以使用 Session::put('key',$value)
方法将数据存储在会话中,然后使用 Session::get('key')
从下一个中间件获取它,或者您可以将该数据传递到 $request
对象中,例如$request->addCustomField = 'custom field value'
然后你可以使用 $request->addCustomField
从下一个中间件中获取它。
希望对你有帮助
使用merge函数添加到输入中:
return $next($request->merge(['my_data' => $data]));
然后可以访问 $request->input('my_data')
,例如。
offsetUnset如果需要可以用来移除下一个中间件中的数据
我创建了几个中间件,一个用于特定功能,我希望后续中间件使用从前一个中间件创建的数据,而不是从头开始生成。有没有办法做到这一点?我不确定我是否应该弄乱 $request
或 $next
.
您可以使用 Session::put('key',$value)
方法将数据存储在会话中,然后使用 Session::get('key')
从下一个中间件获取它,或者您可以将该数据传递到 $request
对象中,例如$request->addCustomField = 'custom field value'
然后你可以使用 $request->addCustomField
从下一个中间件中获取它。
希望对你有帮助
使用merge函数添加到输入中:
return $next($request->merge(['my_data' => $data]));
然后可以访问 $request->input('my_data')
,例如。
offsetUnset如果需要可以用来移除下一个中间件中的数据