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

时间:2015-09-19 12:25:09

标签: slim slim-3 psr-7

如何在Slim 3的Slim 2中获得所有 get/ put/ post个变量?

超薄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中做到这一点?

4 个答案:

答案 0 :(得分:73)

获取所有 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'];

答案 1 :(得分:7)

获取所有请求参数:

$request->getParams() 

答案 2 :(得分:4)

Request UrigetQueryParams()

Request BodygetBody() / getParsedBody()

这并不是你想要的,但它非常接近。

答案 3 :(得分:0)

您可以使用map()方法将获取,发布和放置到一条路线中。

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

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