PSR7 Request:获取Slim3中类似$_REQUEST的请求数据
PSR7 Request: Get request data like $_REQUEST in Slim3
我正在使用 Slim3 作为路由器使用 PSR-7 请求重构我的应用程序。在我的一些入口点上,我有来自外部应用程序的传入 GET 和 POST HTTP 请求。 GET 和 POST 使用相同的参数名称。在旧代码中,一个简单的 $_REQUEST
解决了这个问题,但我不想再使用 superglobals。
为了获取 GET-Request 的参数,我使用了以下代码:
$parameters = $request->getQueryParams();
对于 POST-请求,我使用:
$parameters = $request->getParsedBody();
是否有解决问题的 PSR-7 函数,还是每次都必须使用 array_merge()
?
在 PSR-7 本身中,请求接口上没有方法来执行您的请求。
可能某些实现提供了它,但我觉得很奇怪。
如果可以,最简单的方法是使用满足您需要的新方法扩展您正在使用的 ServerResponseInterface 实现。
在 Slim
中,您可以覆盖 request
配置键,提供您自己的请求对象
Slim 的请求对象有 getParam()
和 getParams()
,它们可以满足您的需求。不过这些不是 PSR-7 的一部分。
我正在使用 Slim3 作为路由器使用 PSR-7 请求重构我的应用程序。在我的一些入口点上,我有来自外部应用程序的传入 GET 和 POST HTTP 请求。 GET 和 POST 使用相同的参数名称。在旧代码中,一个简单的 $_REQUEST
解决了这个问题,但我不想再使用 superglobals。
为了获取 GET-Request 的参数,我使用了以下代码:
$parameters = $request->getQueryParams();
对于 POST-请求,我使用:
$parameters = $request->getParsedBody();
是否有解决问题的 PSR-7 函数,还是每次都必须使用 array_merge()
?
在 PSR-7 本身中,请求接口上没有方法来执行您的请求。
可能某些实现提供了它,但我觉得很奇怪。
如果可以,最简单的方法是使用满足您需要的新方法扩展您正在使用的 ServerResponseInterface 实现。
在 Slim
中,您可以覆盖 request
配置键,提供您自己的请求对象
Slim 的请求对象有 getParam()
和 getParams()
,它们可以满足您的需求。不过这些不是 PSR-7 的一部分。