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でWebアプリをいちから作れるようになりたい!」

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

詳細はこちらをクリック

【個別サポート実施中】

「本ブログに記載の方法を試してみたけれど、うまくいかない」「コードを見てほしい」という方のために、有償でメールサポートいたします。以下のボタンをクリックして相談フォームにアクセスして下さい。

詳しく見る

Twitter始めました。
スポンサーリンク
40代からプログラミング!

コメント

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