Symfony表示手动提交GET和POST请求

时间:2017-03-03 12:17:40

标签: symfony symfony-forms

有没有办法从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());

1 个答案:

答案 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之外)