我正在 symfony 中浏览一些代码,我发现
$request->request->replace()
实际上,发布了一个表单并在一个函数中获取其值,例如,
public function someFunction(Request $request){
$data = $request->request->all() ? : json_decode($request->getContent(), true);
$request->request->replace($data);
}
当我倾倒时,
$request->request->replace($data)
结果为空。我不明白为什么要使用它以及它的好处是什么?
我搜索了一下,有人说它用于清理数据,有人说我们不应该使用它来替换请求中的所有参数,而应该使用 set 方法。
我没有得到任何东西,因为我是 symfony 的新手。
$request->request->replace() 对提供给它的参数做了什么?
你的 $request 是Symfony\Component\HttpFoundation\Request 的一个实例。使用 $request 您可以访问请求、查询、cookie、属性、文件、服务器、标题等属性。这些属性中的每一个都是Symfony\Component\HttpFoundation\ParameterBag 类型。ParameterBag 的实例使用方法提供对请求参数的访问$request->request->all()
。此方法将返回 ParameterBag 实例的“参数”属性。
该$request->request->replace($data)
将“参数”中ParameterBag实例属性设置为$的数据。
此外,replace() 方法没有任何返回类型,这就是为什么当您转储时将$request->request->replace($data)
null 作为输出。
如果您想向您的请求添加一些额外的参数,那么replace()
这不是正确的选择,您应该使用set()
ParameterBag 中的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句