2016-03-19 5 views
0

私はL5パッケージを開発しており、このパッケージはエイリアスを提供するもう1つのパッケージを使用しています(それ自体でcomposer.jsonが必要です)。パッケージのサービスプロバイダから必要なパッケージのエイリアスを読み込むことはできますか?

私のサービスプロバイダのregister()機能内からエイリアスを読み込む方法はありますか?

の例では、laravelcollective/htmlを使用するパッケージも及び、そのサービスプロバイダに、register()機能に、次のようなものがあるでしょう:ユーザがエイリアスを追加する必要はありません

public function register() 
    { 
     // Whatever else... 
     $this->app->register('Collective\Html\HtmlServiceProvider'); 

     // And then I'm looking for something like the following 
     // $this->app->alias('HTML', 'Collective\Html\HtmlFacade'); 
     // $this->app->alias('Form', 'Collective\Html\FormFacade'); 
    } 

この道をそのアプリケーションの設定ファイルと実際に私自身のテストのためのテストベンチのようなものを使用することができます。

ありがとうございます!

答えて

0

これで、私の後輩の質問に答えると、AliasLoaderのインスタンスを取得し、独自のエイリアスを読み込むことができます。パッケージのファサードをロードしますので、それらを使用することができます

public function register() 
{ 
    // Whatever else... 
    $this->app->register('Collective\Html\HtmlServiceProvider'); 

    // Load HTML and Form aliases 
    $loader = \Illuminate\Foundation\AliasLoader::getInstance(); 

    $loader->alias('HTML', 'Collective\Html\HtmlFacade'); 
    $loader->alias('Form', 'Collective\Html\FormFacade'); 
} 

:私の質問に記載された例に続いてそれはのようなものだろう。

関連する問題