web-dev-qa-db-fra.com

Slim 3 - comment obtenir toutes les variables get / put / post?

Comment je peux obtenir tousget/ put/ post variables comme dans Slim 2 pour Slim 3?

Slim 2,

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

Comment puis-je faire cela dans Slim 3?

Et, par exemple, http://example.com/books/1?title=hello&content=world

Comment puis-je obtenir les paramètres dans title et content dans Slim 3 maintenant?

Slim 2,

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

Comment puis-je faire cela dans Slim 3?

37
laukok

Obtenez tousget/put/post paramètres:

//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
}

Valeur de paramètres unique:

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

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

Pour obtenir tous les paramètres de demande:

$request->getParams() 
7
nogo0d

Request Uri : getQueryParams()

corps de la requête : getBody()/getParsedBody()

Ce n'est pas exactement ce que vous recherchez, mais cela s'en rapproche beaucoup.

4
Martin

Vous pouvez utiliser la méthode map() pour combiner les opérations get, post et insertion dans un itinéraire unique.

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

Le premier argument est un tableau des méthodes HTTP que vous souhaitez faire correspondre. Le deuxième paramètre est la fonction qui gère la demande. transmettre une requête, une réponse et un tableau d'arguments.

0
Mister Moody