【Laravel】GET リクエスト クエリーパラメータの受け取り

WebアプリケーションはHTTPもしくはHTTPSによりリクエストを受けます。

リクエストにはwebアプリケーションへ渡したい値を指定できます。
値を指定する方法はいくつかありますが、今回はURLへクエリパラメーターを指定します。
ブラウザからHTTPもしくはHTTPSリクエストを送信し、受け取った値をブラウザへ表示します。
クエリパラメータについてはこちらを参考にして下さい。

やりたいこと

ブラウザからURLを入力します。
URLにはクエリパラメータを指定します。
URLに指定したクエリパラメータの値がブラウザに表示されることを確認します。

なお、ブラウザからURLを入力すると、そのリクエストはGETメソッドとして扱われます。
今回指定するURLは以下の通りです。

http://localhost/get_request?value=aaa

前提

ファイル構成

今回使用するファイルの構成は以下の通りです。

ファイル名説明
routes/web.phpルーティング
app/Http/Controllers/BasicController.phpコントローラー
resources/views/home.blade.phpビュー

ルーティング

ルーティングは以下の通りです。

Route::get('/get_request', 'BasicController@accept');

コントローラー

コントローラーはクエリパラメーターを取得し、取得した値をビューへ渡します。
以下はコントローラーの内容になります。

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class BasicController extends Controller
{

    public function accept(Request $request) {
      $value = $request->input('value');
      return view('home')->with('val', $value);
    }

}

クエリパラメータの取得は10行目で行っています。
クエリパラメータの取得にはRequestクラスのinputメソッドを使用します。inputメソッドの第一引数へ、クエリパラメータのキーを指定します。
今回指定するクエリパラメータのキーは “value” です。この為、inputメソッドの第一引数には “value” を指定します。

取得したクエリパラメータをビューへ渡す処理は11行目で行っています。
view関数は指定されたビューを表示します。view関数の引数にはビューファイル名を指定します。”.blade.php”を省力し指定して下さい。
withメソッドはビューへ変数名と値を渡します。第一引数は変数名、第二引数は値を指定します。こうすると、変数val($val)に、$valueの値が格納され、ビュー内で変数val($val)が使用できます。

また、今回はRequestクラスを使用している為、Requestクラスを読み込む必要があります。
4行目の “use Illuminate\Http\Request;” で Requestクラスを読み込んでいます。RequestクラスはLaravelのクラスです。

ビュー

コントローラーのinputメソッドの第一引数に”val”が指定されている為、ビューで$valを使用できます。
ビューでは$valの値を画面に表示しています。

<h1>変数の値は??</h1>
{{$val}}

確認

それでは確認してみましょう。
ブラウザへ以下のURLを入力するとブラウザに “aaa” が表示されます。

http://localhost/get_request?value=aaa

最後に

inputメソッドでリクエストパラメータの値が取得できることを覚えておきましょう。

© DeNnie.Lab All Rights Reserved.