web-dev-qa-db-ja.com

スリム3-すべてのget / put / post変数を取得する方法

スリム3のスリム2のようにallget/ 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のtitleおよびcontentのパラメーターを取得するにはどうすればよいですか?

スリム2

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

Slim 3でどうすればいいですか?

37
laukok

Get allget/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'];
73
Davide Pastore

すべてのリクエストパラメータを取得するには:

$request->getParams() 
7
nogo0d

リクエストURIgetQueryParams()

リクエスト本文getBody()/getParsedBody()

探しているものではありませんが、かなり近いものです。

4
Martin

map()メソッドを使用して、get、post、およびputを単一のルートに結合できます。

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

最初の引数は、一致させるHTTPメソッドの配列です。 2番目のパラメーターは、要求を処理する関数です。リクエスト、レスポンス、引数の配列を渡します。

0
Mister Moody