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

2019-01-16 11:54发布

问题:

How I can get all get/ put/ post variables like in Slim 2 for Slim 3?

Slim 2,

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

How can I do that in Slim 3?

And, for example, http://example.com/books/1?title=hello&content=world

How can I get the params in title and content in Slim 3 now?

Slim 2,

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

How can I do that in Slim 3?

回答1:

Get all get/put/post parameters:

//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 parameters value:

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

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


回答2:

To Get all request params:

$request->getParams() 


回答3:

Request Uri: getQueryParams()

Request Body: getBody()/getParsedBody()

It's not exactly what you are looking for but it comes pretty close.