$request->request->replace() 是做什么的?
$request->request->replace() what does it do?
我正在检查 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、属性、文件、服务器等属性,headers。这些属性中的每一个都是 Symfony\Component\HttpFoundation\ParameterBag 类型。 ParameterBag 的实例使用方法 $request->request->all()
提供对请求参数的访问。此方法将 return 'parameters' 属性 的 ParameterBag 实例。
$request->request->replace($data)
会将 ParameterBag 实例中的 'parameters' 属性 设置为 $data。
另外,replace() 方法没有任何 return 类型,这就是为什么当您转储 $request->request->replace($data)
时您得到 null 作为输出。
如果您想在请求中添加一些额外的参数,那么 replace()
不是正确的选择,您应该在 ParameterBag 中使用 set()
方法。
我正在检查 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、属性、文件、服务器等属性,headers。这些属性中的每一个都是 Symfony\Component\HttpFoundation\ParameterBag 类型。 ParameterBag 的实例使用方法 $request->request->all()
提供对请求参数的访问。此方法将 return 'parameters' 属性 的 ParameterBag 实例。
$request->request->replace($data)
会将 ParameterBag 实例中的 'parameters' 属性 设置为 $data。
另外,replace() 方法没有任何 return 类型,这就是为什么当您转储 $request->request->replace($data)
时您得到 null 作为输出。
如果您想在请求中添加一些额外的参数,那么 replace()
不是正确的选择,您应该在 ParameterBag 中使用 set()
方法。