HTTPリクエストインスタンスの使い方|Laravel

アクションメソッドの引数をRequest $request(Illuminate\Http\Request)とした、HTTPリクエストインスタンスの使い方。

use Illuminate\Http\Request;

class SampleController extends Controller {
    public function actionMethod(Request $request) {
    }
}

リクエストメソッド

メソッド 内容 出力例
$request->method() リクエストされたHTTPメソッドを取得する GET
$request->isMethod() HTTPメソッドを判定する 真偽値
$request->path() リクエストされたURIを取得する show
$request->url() リクエストされたURLを取得する http://localhost/laravel-prj/public/show
$request->fullUrl() リクエストされたURLをクエリ文字列付きで取得する http://localhost/laravel-prj/public/show?id=1
$request->input() GETやPOSTの入力値を取得する
ルーティングで記述した{パラメータ名}は取得できない
入力値
$request->all() 全入力を連想配列で取得する 連想配列

isMethod() の使用例

パラメータにHTTPメソッド名を指定します。

$request->isMethod('get')

input() の使用例

パラメータにフォームのname属性を指定します。

$request->input('id')

URLの取得について

$request->url()$request->fullUrl()の違いについて。

  • http://localhost/laravel-prj/public/show/1でアクセスした場合
    • $request->url()$request->fullUrl()の結果はhttp://localhost/laravel-prj/public/show/1で同じ
  • http://localhost/laravel-prj/public/show?id=1でアクセスした場合
    • $request->url()http://localhost/laravel-prj/public/showになる

変数が送信されているかどうかの確認

isset($request->name)nameが送信されているか判定できます。ファイル送信などの判定に使用します。

また、下記のようにして、上記nameにあたる部分を動的に指定することも可能です。

// $status->code は数値や文字列.
$key = 'status_' . $status->code;
if (isset($request->$key)) {
}
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です