PSR7请求:在Slim3中获取类似$ _REQUEST的请求数据

时间:2016-05-10 14:13:39

标签: php slim psr-7

我使用Slim3作为路由器使用PSR-7请求重构我的应用程序。在我的一些入口点上,我有来自外部应用程序的传入GET和POST HTTP请求。 GET和POST都使用相同的参数名称。在旧代码中,一个简单的$_REQUEST解决了这个问题,但我不想再使用超全局了。

为了获取GET-Request的参数,我使用以下代码:

$parameters = $request->getQueryParams();

对于POST-Request,我使用:

$parameters = $request->getParsedBody();

是否有解决问题的PSR-7功能,或每次都必须使用array_merge()

2 个答案:

答案 0 :(得分:3)

Slim的请求对象有getParam()getParams(),可以满足您的需求。这些不是PSR-7的一部分。

答案 1 :(得分:2)

在PSR-7本身,请求界面上没有方法可以执行您要求的操作。

有些实现可能会提供它,但我会发现它很奇怪。

如果可以,最简单的可能是扩展您正在使用的ServerResponseInterface实现,并使用满足您需要的新方法。

Slim中,您可以覆盖request配置密钥,提供自己的请求对象