Slim 3 - 如何获取所有 get/put/post 变量?

Slim 3 - how to get all get/ put/ post variables?

如何获得 all get/ put/ post 变量,就像 Slim 2 中的 Slim 3 一样?

苗条 2,

$allGetVars = $app->request->get();
$allPutVars = $app->request->put();
$allPostVars = $app->request->post();

我如何在 Slim 3 中做到这一点?

并且,例如,http://example.com/books/1?title=hello&content=world

现在如何在 Slim 3 中获取 titlecontent 中的参数?

苗条 2,

$title = $app->request->get('title');
$content = $app->request->get('content');

我如何在 Slim 3 中做到这一点?

Request Uri: getQueryParams()

Request Body: getBody()/getParsedBody()

这不是您要查找的内容,但非常接近。

获取全部get/put/post参数:

//GET
$allGetVars = $request->getQueryParams();
foreach($allGetVars as $key => $param){
   //GET parameters list
}

//POST or PUT
$allPostPutVars = $request->getParsedBody();
foreach($allPostPutVars as $key => $param){
   //POST or PUT parameters list
}

单个参数值:

//Single GET parameter
$getParam = $allGetVars['title'];

//Single POST/PUT parameter
$postParam = $allPostPutVars['postParam'];

获取所有请求参数:

$request->getParams() 

您可以使用 map() 方法将 get, post & put 合并到一个路由中。

$app->map(['GET', 'POST', 'PUT'], function(Request $request, Response $response, array $args)) { }

第一个参数是要匹配的 HTTP 方法的数组。第二个参数是处理请求的函数;传递请求、响应和参数数组。