有没有办法从Request类中获取合并数据?因为目前我们正在为接受POST和GET查询的API控制器手动提交表单(由于遗留项目,这不是REST API)。
$data = array_merge($request->query->all(), $request->request->all());
$form->submit($data);
有没有办法写下更清洁的东西而不是下面的代码?
$data = array_merge($request->query->all(), $request->request->all());
答案 0 :(得分:1)
我认为不可能。 (也许我错了)
如果查看source code of Request,您可以看到,当Symfony创建请求时,Symfony将全局变量$_GET
放入$this->query
和$_POST
放入{{1 }}。
没有Symfony变量可以同时使用。
如果你只在一个地方需要它,我认为你做的很好。
如果没有,请创建一个服务,该服务将会影响此代码。
另一种解决方案是使用全局变量$this->request
,因为Symfony生成merge,但它取决于您的php配置($_REQUEST
的{{1}}参数)。
但我不认为在Symfony中使用Superglobals变量是一个好主意......(除了symfony overwrites之外)