Symfony Forms 手动提交 GET 和 POST 请求

问题描述 投票:0回答:1

有没有办法从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());
php symfony symfony-forms
1个回答
1
投票

我认为这是不可能(也许我错了)

如果你查看Request的源代码,你可以看到,当Symfony创建请求时,Symfony将全局变量$_GET

放在
$this->query
中,将
$_POST
放在
$this->request
中。
没有 Symfony 变量同时采用两者。

如果你只需要在一个地方,我认为你所做的很好。

如果没有,请创建一个能够提供此代码的服务或另一个解决方案。

另一个解决方案是使用全局变量

$_REQUEST

,因为Symfony进行了
merge,但这取决于你的php配置(request_order
php.ini
参数)。 
但我不认为在 Symfony 中使用
Superglobals 变量是一个好主意......(除了 symfony 覆盖它们)

© www.soinside.com 2019 - 2024. All rights reserved.