2016-10-26 6 views

答えて

2

どのサービスを注入したいですか?どのように使用しますか?

すべてのビュー間で変数を共有する簡単な方法は、shareメソッドを呼び出すことです:

view()->share([ 

    'myService' => app()->make(My\Service::class), 
]); 

あなたも、多くの異なるコントローラ間で動作するように、コントローラ内または多分ミドルウェアの内部でこれを呼び出すことができます。

その後、あなたの意見では、このようなものは:

@foreach ($myService->getItems() as $item) 
    ... 
@endforeach 
+0

ありがとう、それは@inject( 'myService'、 'My \ Service :: class')の追加に似ていますか?各ブレードテンプレート – harish

+0

** Cool ** Thats私が探していたもの。 – harish

2

は、この手順に従います。

サービスプロバイダの作成:php artisan make:provider UserServiceProvider

ゴーアプリの\プロバイダー

への\ UserServiceProvider.php

<?php 

namespace App\Providers; 

use Illuminate\Support\ServiceProvider; 
use Illuminate\Support\Facades\View; 
use Auth; 

class UserServiceProvider extends ServiceProvider 
{ 
    /** 
    * Bootstrap the application services. 
    * 
    * @return void 
    */ 

    public function boot() 
    { 
     // key can be anything 
     // value what you want 
     View::share('key', 'value'); 
    } 

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

config\app.php

App\Providers\UserServiceProvider::class, 

内のこのサービスプロバイダを登録するよりも今、あなたは、すべてのビューのために、このkeyにアクセスすることができます。

関連する問題