- 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」
|