タイトル: ViewComposerを用いてviewに共通の値を付与する方法
SEOタイトル: 【Laravel】ViewComposerを用いてviewに共通の値を付与する方法
Layoutで必ず取得しなければならない値をわざわざ一つずつのコントローラーで取得するのは冗長的である。
当問題はViewComposerという機能を用いて解決することができる。
プロバイダーの作成
php artisan make:provider ComposerSeriviceProvider |
プロバイダーの登録
config/app.phpに以下の記述を追加する。
'providers' => [ ... App\Providers\ComposerSeriviceProvider::class, ] |
サービスプロバイダー
<?php namespace App\Providers; use App\Http\ViewComposers\CommonComposer; class ComposerSeriviceProvider extends ServiceProvider View::composer( // クロージャベースのコンポーザを使用する |
コンポーザー(クラスベースの場合)
<?php namespace App\Http\ViewComposers; use Illuminate\View\View; class CommonComposer /** /** $view->with('aaa', 'bbb') |