41

如何获得Slim 2 中的所有 get/ put/ post变量,例如 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 3title中获取参数?content

苗条2,

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

我怎样才能在 Slim 3 中做到这一点?

4

4 回答 4

79

获取所有 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'];
于 2015-09-19T14:08:13.033 回答
8

获取所有请求参数:

$request->getParams() 
于 2016-05-07T23:20:30.973 回答
5

请求 UrigetQueryParams()

请求正文getBody()/getParsedBody()

这并不完全是您正在寻找的东西,但它非常接近。

于 2015-09-19T13:52:15.507 回答
-1

您可以使用该map()方法将 get、post 和 put 组合到单个路由中。

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

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

于 2019-02-25T00:24:47.547 回答