Skip to main content

Requestオブジェクトとは

Illuminate\Http\Request は、アプリケーションが受け取るHTTPリクエストをオブジェクト指向で扱うためのクラスです。 フォームデータ・クエリ文字列・ファイル・ヘッダーなど、リクエストに含まれるあらゆる情報にアクセスできます。

コントローラーへのリクエスト注入

コントローラーのメソッドで Illuminate\Http\Request をタイプヒントすると、Laravelのサービスコンテナが自動的にリクエストインスタンスを注入します。
ルートクロージャでも同じようにタイプヒントできます。

ルートパラメーターとの併用

コントローラーメソッドがルートパラメーターも受け取る場合は、Request の後にルートパラメーターを記述します。

リクエストデータの取得

すべての入力データを取得

all メソッドで、すべての入力データを配列として取得します。 HTMLフォームからのリクエストでも、XHRリクエストでも使えます。

特定のフィールドを取得

input メソッドはHTTPメソッドに関わらず、リクエストペイロード全体(クエリ文字列を含む)から値を取得します。
値が存在しない場合のデフォルト値を第2引数で指定できます。
配列の入力にはドット記法でアクセスします。

クエリ文字列の取得

query メソッドはクエリ文字列(URLの ? 以降)からのみ値を取得します。
input はリクエストボディとクエリ文字列の両方を対象にしますが、query はクエリ文字列のみを対象にします。 フォームのPOSTデータとURLパラメーターを区別したい場合は query を使いましょう。

型付きの取得

input 以外にも、型を指定して入力値を取得するメソッドがあります。

動的プロパティ

フィールド名をそのままプロパティとしてアクセスすることもできます。
動的プロパティでは、まずリクエストペイロードから値を探し、見つからなければルートパラメーターを検索します。

入力データの一部を取得

onlyexcept で入力データのサブセットを取得できます。

入力の存在確認

has メソッドで値がリクエストに含まれているか確認します。
空文字を除いて値が存在するかは filled を使います。
値が存在しない、または空文字の場合は isNotFilled を使います。

リクエストのパスとメソッド確認

パスの取得と確認

URLの取得

HTTPメソッドの確認

isMethod でHTTPメソッドを確認できます。

ファイルアップロード

アップロードされたファイルの取得

file メソッドでアップロードされたファイルを取得します。 Illuminate\Http\UploadedFile インスタンスが返ります。
ファイルが存在するか確認するには hasFile を使います。

ファイルの保存

store メソッドでファイルをストレージに保存します。 ファイル名は自動的に生成されます。
ファイル名を指定したい場合は storeAs を使います。
ファイルアップロードを受け付ける場合は、必ずファイルの種類やサイズを検証してください。 バリデーションを使って安全に処理することを推奨します。

実例:フォームデータの受け取り

ユーザー登録フォームのデータをコントローラーで受け取る例です。
対応するルートを定義します。

次のステップ

ミドルウェア

リクエストをフィルタリングするミドルウェアの使い方を振り返ります。
最終更新日 2026年3月29日