私はLaravel 5アプリケーションに取り組んでいます。アプリケーションのコードは複数のlaravel 5アプリケーションで再利用されるはずです。これはコンポーザーパッケージを作成しているので、何度でもこのパッケージをインストールしたいと思いますlaravel 5のアプリケーションに同じ機能を持たせてビルドすることができます。laravel 5サービスプロバイダをベンダーパッケージ自体からブートストラップする方法は?
私はコンポーザパッケージの開発に新しく、特にサービスプロバイダを使用してLaravel 5にパッケージをフックします。これまでのところ、私は以下の一つとして、サービスプロバイダを使用している場合、私はlaravel 5アプリケーション内のルートを使用できるようになることを学びました。この作品を作るために
今<?php
namespace Uppdragshuset\AO\Tenant;
use Illuminate\Support\ServiceProvider;
class TenantServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
include __DIR__.'/routes.php';
}
}
を、私はちょうど経由でパッケージが必要ですどのブランドの新しいLaravel 5のインストールに作曲し、私はちょうどこれにapp.php
で更新プロバイダの配列を必要とする:
Uppdragshuset\AO\Tenant\TenantServiceProvider::class
これは私には理にかなっていると、あまりにも動作します。しかし、現在私が開発しているパッケージには独自の依存関係があり、多くの依存パッケージにはlaravel 5サービスプロバイダが含まれていますので、laravel5インストールにそれらをすべて手動で組み込む必要があります。
しかし私は、これらの依存サービスプロバイダをパッケージに登録する方法が必要であると推測しています。これは、何らかの形で私が上に挙げたプロバイダを登録するだけです。問題は私がこれを行う方法を知らず、どこでも同じような参照を見つけることができないことです。コンポーザパッケージ自体から複数のサービスプロバイダを登録するには?
これはやり方です。サービスプロバイダをサービスプロバイダに登録することができます。 –
ありがとう、私はちょうど私のパッケージから '$ this-> app-> register()'を使ってlaravelサービスプロバイダをオーバーライドすることができました – myol