2016-08-16 8 views
0

ありがとうございます。作曲家を使わずにLaravel 5.0でFacadesを作成するには?

私はlaravel 5.0の私のカスタムおよび一般的な機能のためにファサードを作成しようとしています。そのためにコントローラを作成したくないため、Facadesを使用しています。

私はほとんどすべてのチュートリアルを試しましたが、それは私を助けません。

Laravel 5.0でComposerを使用せずにファサードを作成してください。

もう一度おねがいします。

namespace App\Facades; 

use Illuminate\Support\Facades\Facade; 

class SomeFacade extends Facade 
{ 
    protected static function getFacadeAccessor() 
    { 
     return 'someService'; 
    } 
} 

を、あなたはあなたの機能を保持するサービスクラスを作成します:あなたはこのようなファサードのクラスを作成しているすべての

答えて

1

まず

namespace App\Services; 

class SomeService { ... } 

最後に、あなたがそれを登録する必要がありますし、別名を設定してください(不要)。

namespace App\Providers; 

use Illuminate\Support\ServiceProvider; 

class AppServiceProivider extends ServiceProvider 
{ 
    (...) 
    public function register() 
    { 
     $this->app->singleton('someService', function() { 
      return new \App\Services\SomeService(); 
     }); 
     $this->app->alias('SomeServiceFacade', \App\Facades\SomeFacade::class); 
    } 
} 

012からあなたのメソッドを呼び出すことができます:

SomeServiceFacade::someMethhod(); 

または

app('someService')->someMethhod(); 
+0

あなたの心を 'tの場合、あなたは何を意味するのヘッダファイル/「ヘッダファイル」で –

+0

でより多くのことを説明してくださいできますか? –

+0

つまり、この例は名前空間を含む完全なコードで説明してください。 –

関連する問題