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の教科書の詳細を見る

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

【無料プレゼント】

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

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

詳細はこちらをクリック

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。
Laravel10対応。Laravel11サポートガイドもご用意しています。詳しくは下記ボタンをクリック♪

書籍の詳細を見てみる

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravel10対応

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる

 

Laravelの教科書限定コミュニティ【Laravelの教科書ラボ】はじめました。
デプロイ講座付。StripeやChatGPT連携など過去10回分のセミナー動画視聴可能。

Laravel実践スキルをのばしたい方におすすめです。

ラボの案内を見てみる

Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました