Laravel - 変数 - グローバル変数(view)


クラウディア 


1. 概要
2. 設定
3. 参考サイト

1. 概要

 「@include」やら何やら使っていると。  引数で渡すのではなく、「.blade.php」内で使える、変数があればいいな・・・と思うわけです。

2. 設定

 どの参考サイトにも。

app/Providers/AppServiceProvider.php
 で、定義するのがいいと書いてあります。  上記ソースの「Laravel Framework 10.48.20」デフォルトでは。

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     */
    public function register(): void
    {
        //
    }

    /**
     * Bootstrap any application services.
     */
    public function boot(): void
    {
        //
    }
}
 となっちょります。  この「boot()」メソッドを編集します。  「boot()」で定義しておくことで、はなから使えるのだそうな・・・。  例えば・・・。

    public function boot(): void
    {
		$hogehoge = 'fugafuga';
		view()->share('piyopiyo', $hogehoge);
    }
 てなことを書いておけば。  「php」の地の文で、「$piyopiyo」という変数が使えるし。  「.html」展開させるには、「{{ $piyopiyo }}」と書けばいいわけです。  ちなみに、ここで区別がわかるように、元々のローカル変数とグローバル変数の変数名を変えていますが。  実際にコーディングする際は、同じ変数名にした方が分かりやすいでしょう。  つまり「'piyopiyo'」の部分は、「hogehoge」に変えます。

3. 参考サイト

 本ページは、下記のサイトを参考にさせていただきました。
【Laravel / グローバル変数】どの View でも使用できる共通変数を設定する」
「【Laravel】共通オブジェクトを blade ファイルで利用する方法」
「【Laravel】Blade で共通で参照できるグローバルな変数を定義する。 #PHP