web-dev-qa-db-ja.com

Laravelでは、どうすれば* only * POSTパラメーターを取得できますか?

$request->get('my_param')またはInput::get('my_param')を使用してPOSTまたはGETリクエストパラメータをLaravel(私は今v5/devバージョンをいじっていますが、4.2でも同じです。

ただし、my_paramがPOSTパラメータを介しており、URLに追加された?my_param=42だけではないことを確認するにはどうすればよいですか? (古い$_POSTおよび$_GETスーパーグローバルに戻り、テスト容易性をウィンドウの外に投げ出すことに加えて)

(注:Request::getメソッドがPOST param for a POST request、if both a POST同じ名前のURL/GETパラメータが存在しますが...しかし、パラメータが代わりにurlクエリ文字列を介して到達する場合は、Laravelの慣用的な方法でこれを知る必要があります)

17
NeuronQ

クラスIlluminate\Http\Request(または実際にはSymfony\Component\HttpFoundation\Requestから拡張されたSymphonyクラス)には、要求パラメーターを格納する2つのクラス変数があります。

public $query-GETパラメータ用

public $request --for POSTパラメータ

どちらもgetメソッドを実装するSymfony\Component\HttpFoundation\ParameterBagのインスタンスです。

これがあなたにできることです(それはあまりきれいではありませんが)

$request = Request::instance();
$request->request->get('my_param');
17
lukasgeiter