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メソッドでリクエストパラメータの値が取得できることを覚えておきましょう。