【Laravel】コントローラーからBladeビューに値を渡す方法を解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。

この記事では、 PHPのフレームワークの1つであるLaravelでコントローラーからBladeビューに値を渡す方法を丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
Laravelのバージョン 8.10.0

この記事では

C:\Laravel\LaravelSample

配下にLaravelのプロジェクトを作成しています。

コントローラーからBladeビューに値を渡す方法

コントローラーからBladeビューに値を渡す方法を解説します。

  1. コントローラーで値を渡す方法
  2. Bladeビューで渡された値を表示する方法

という順番で解説します。

コントローラーで値を渡す方法

コントローラーで値を渡すには、view関数の第一引数に遷移先のBladeビュー、第二引数に渡したい値を連想配列で設定します。

第二引数で値を指定する場合、

  • array関数
  • compact関数

のどちらかで指定してあげると、スッキリと書くことができます!

それぞれの関数の詳細な解説については、以下の記事をご参考ください。

Bladeビューで渡された値を表示する方法

Bladeビューで渡された値を表示するには、コントローラーから渡された連想配列の要素のキーを

というように指定すれば、表示することができます。

では、次の章で実際に使ってみます。

コントローラーからBladeビューに値を渡し方を解説するプログラムの概要

コントローラーからBladeビューに値を渡し方を解説するプログラムは、

  • コントローラー
  • Bladeビュー
  • web.php

3つを使います。

コントローラーは名前を【SampleController.php】とし、compact関数で渡す値を作成しBladeビューに渡します。
Bladeビューではコントローラーから受け取った値を表示します。

Bladeビューは名前を【printsample.blade.php】とし、viewsディレクトリ直下に格納します。

web.phpには、【http://〇〇.〇〇.〇〇:8000/printsample】でアクセスした場合、【printsample.blade.php】を呼ぶ関数を呼ぶように定義します。
ちなみにweb.phpとは、ルーティングを定義することができるファイルです。
詳しくはこちらの記事をご参考ください。

SampleController.phpのサンプルプログラム

printsample.blade.phpのサンプルプログラム

web.phpのサンプルプログラム

実行して確認

本当にコントローラーからBladeビューに値を渡すことができているのかを実行して確認します。
Laravelでサーバーを立ち上げるコマンドは

です。
サーバーを立ち上げるコマンドの詳細な説明は、こちらの記事をご参考ください。

  • http://〇〇〇.〇〇〇.〇〇〇.〇〇〇:8000/printsample
    ※コマンドプロンプトに記載されているURL
  • http://localhost:8000/printsample

どちらかのURLにアクセスすれば、コントローラーからBladeビューに値が渡っていることが確認できます!

まとめ:コントローラーからBladeビューに値を渡してみよう

以上がLaravelでコントローラーからBladeビューに値を渡すやり方の解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました