今回はコントローラーからビューへ変数を渡し、その内容をブラウザに表示します。
ルーティング、ビューについて説明しませんので、ルーティング、ビューを知らないという方は以下を参考にして下さい。
やりたいこと
ブラウザからURLを入力し、ブラウザに “ABCD” という文字を表示させます。
今回指定するURLは以下の通りです。
http://localhost/controller/show_value
前提
ファイル構成
今回使用するファイルの構成は以下の通りです。
ファイル名 | 説明 |
---|---|
routes/web.php | ルーティング |
app/Http/Controllers/BasicController.php | コントローラー |
resources/views/home.blade.php | ビュー |
ルーティング
ルーティングは以下の通りです。
Route::get('/controller/show_value', 'BasicController@showValue');
コントローラー
コントローラーからビューへ変数を渡します。
以下はコントローラーの内容になります。
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; class BasicController extends Controller { public function showValue() { $value = 'ABCD'; return view('home')->with('val', $value); } }
コントローラーがビューへ変数を渡す処理は12行目で行われています。
view関数は指定されたビューを表示します。view関数の引数にはビューファイル名を指定します。”.blade.php”を省力し指定して下さい。
更にwithメソッドを使用してビューへ変数を渡します。
withメソッドはビューへ変数名と値を渡します。第一引数は変数名、第二引数は値を指定します。こうすると、変数val($val)に、$valueの値が格納され、ビュー内で変数val($val)が使用できます。
ビュー
コントローラーのinputメソッドの第一引数に”val”が指定されている為、ビューで$valを使用できます。
ビューでは$valの値をブラウザに表示しています。
<h1>変数の値は??</h1> {{$val}}
確認
それでは確認して見ましょう。
ブラウザへ以下のURLを入力するとブラウザに “ABCD” が表示されます。
http://localhost/controller/show_value
まとめ
コントローラーでwithメソッドを使用しました。
withメソッドでビューへ値を渡せることを覚えておきましょう。
今回はブラウザで表示する文字をコントローラーで指定した為、固定の文字”ABCD”が表示されます。
次回は動的に文字を表示させてみましょう。