0

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

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

$parameters = $request->getQueryParams();

对于 POST 请求,我使用:

$parameters = $request->getParsedBody();

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

4

2 回答 2

4

Slim 的请求对象具有getParam()并且getParams()可以执行您想要的操作。这些不是 PSR-7 的一部分。

于 2016-05-10T16:17:40.203 回答
2

在 PSR-7 本身中,请求接口上没有一种方法可以满足您的要求。

某些实现可能会提供它,但我会觉得很奇怪。

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

Slim你可以这样做覆盖配置键,request提供你自己的请求对象

于 2016-05-10T14:53:33.510 回答