2016-11-23 9 views
0

でグローバル変数を作成するこんにちは、私はLaracastsでこれを投稿しているが、今のところ何の答えは私がここで試してみようと思いましたん:)はAppServiceProvider Laravel 5.3

私はビューにグローバル変数のカップルを取得しようとしていますAppServiceProviderを使用します。私はLaravelのファサードの1つを使用してユーザーの詳細を取得すると問題はありませんでしたが、依存性注入を使用してもそれを解決できませんでした。

これは私が現在持っているコードです:

<?php namespace App\Providers; 

use Illuminate\Support\ServiceProvider; 

use App\Repositories\ShopCategory\ShopCategoryInterface; 

class AppServiceProvider extends ServiceProvider 
{ 
    /** 
    * Bootstrap any application services. 
    * 
    * @return void 
    */ 
    public function boot(ShopCategoryInterface $shop_category) 
    { 
     $parent_categories = $shop_category->getParentCategories(); 

     view()->composer('*', function($view){ 
      $view->with('parent_categories', $shop_category->getParentCategories()); 
    }); 
} 

    /** 
    * Register any application services. 
    * 
    * @return void 
    */ 
    public function register() 
    { 

    } 
} 

私はこれが働くだろうと想定していたが、私はエラーを取得:

Undefined variable: shop_category 

は、だから私はちょうど私が$ shop_categoryを渡す方法を思ったんだけどビューコンポーザーへのクラス。

答えて

1

あなたはこれを試してみてください機能

内でパスvarのため閉鎖にuse()機能に必要な任意の助け

ありがとう:

view()->composer('*', function($view) use($shop_category) { 
     $view->with('parent_categories', $shop_category->getParentCategories()); 
    }); 
+0

感謝する必要があります君は。私はビュー・コンポーザーを作成していただけですが、これはもっとエレガントな方法です。ファイルの数が大幅に少なく、ファイル数もはるかに少なくて済みます。 – cshelswell

0

ブート機能は

public function boot() 
    { 
     view()->composer('*', function($view){ 
     $shop_category = new ShopCategoryInterface() 
     $parent_categories = $shop_category->getParentCategories(); 
     $view->with('parent_categories', $shop_category->getParentCategories()); 
    }); 
+0

あなたの答えをありがとうございます。私は投票した人が少ないコードしか持っていないので、答えを追加する時間を取ってくれてありがとう – cshelswell