【Laravel】コントローラー Viewへ変数を渡す

今回はコントローラーからビューへ変数を渡し、その内容をブラウザに表示します。
ルーティング、ビューについて説明しませんので、ルーティング、ビューを知らないという方は以下を参考にして下さい。

やりたいこと

ブラウザから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”が表示されます。
次回は動的に文字を表示させてみましょう。

© DeNnie.Lab All Rights Reserved.