我使用Slim3作为路由器使用PSR-7请求重构我的应用程序。在我的一些入口点上,我有来自外部应用程序的传入GET和POST HTTP请求。 GET和POST都使用相同的参数名称。在旧代码中,一个简单的$_REQUEST
解决了这个问题,但我不想再使用超全局了。
为了获取GET-Request的参数,我使用以下代码:
$parameters = $request->getQueryParams();
对于POST-Request,我使用:
$parameters = $request->getParsedBody();
是否有解决问题的PSR-7功能,或每次都必须使用array_merge()
?
答案 0 :(得分:3)
Slim的请求对象有getParam()
和getParams()
,可以满足您的需求。这些不是PSR-7的一部分。
答案 1 :(得分:2)
在PSR-7本身,请求界面上没有方法可以执行您要求的操作。
有些实现可能会提供它,但我会发现它很奇怪。
如果可以,最简单的可能是扩展您正在使用的ServerResponseInterface实现,并使用满足您需要的新方法。
在Slim
中,您可以覆盖request
配置密钥,提供自己的请求对象