Laravel componentsの中で変数とForeach構文を使う方法

Laravel テンプレート・リンク

コンポーネントファイルの中で変数を使う方法を説明します。

サイドバーやナビゲーションバーにForeachを利用したい時などに便利です。

Laravel コンポーネントファイルの中でForeachを使う方法

componentsフォルダ内のtest.blade.phpの中で、foreachを使うとします。

これをビューファイルに表示させます。

次の流れで進めていきます。

【流れ】

  1. コントローラーに変数を設定
  2. 【php artisan make:component】でcomponentsを作成
  3. components設定ファイルで変数を定義
  4. componentsテンプレートファイルで変数を使ってforeach文記述
  5. ビューファイルを編集

既にルート設定済みのビューファイルとコントローラーがあるとして、説明を進めていきます。

①コントローラーに変数を設定

実際の開発ではこの部分はできていて、2の部分から始まるかと思います。

今回はテスト用なので、下記のように $menus 配列を準備しておきます。

②componentsを作成

下記のコマンドを実行します。

次の二つのファイルができます。

  1. app/View/Components に Test.phpファイル
  2. resources/views/components に test.blade.phpファイル

③Components設定ファイルで変数を定義

app/View/Components に Test.phpファイルを開きます。

$menusを定義していきます。

ファイルの上部に下記をいれます。

ファイルの真ん中あたり、コンストラクタ(__construct)の中に、下記をいれます。

全体は次のようになります。

④componentsテンプレートファイルで変数を使ってforeach文記述

resources/views/components に test.blade.phpファイルに次のようにforeach文をいれます。

⑤ビューファイルを編集

最後に、ビューファイルに下記のようにいれます。

これで準備完了です。

ビューファイルを表示すると、次のようになっています。

テンプレートファイルを使うだけなら@extendsなどのほうが手軽です。

ただcomponentsを活用すると、テンプレートファイルを作るだけでなく、上記のようなこともできて便利。

このほかに、componentsで変数を使ってページごとに表示を変えたりもできます。

下記で解説しています。

 

Laravel テンプレート・リンク

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

Laravel8版と、最新のLaravel9版、ふたつのテキストご用意してます♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

Laravel8版と、最新のLaravel9版、ふたつのテキストご用意してます♪

社内にWebアプリ開発経験がなくて、困ってませんか?

「自社でWebアプリ開発を始めていきたい」
という企業様のために、Laravelセミナー・プログラミング教育を実施しています。

【セミナー使用スライド】

詳細はこちらご覧ください

Twitter始めました。
40代からプログラミング!

コメント

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