しかし、「スタートアップ」とは何を意味するのでしょうか?通常、これはサービス コンテナ バインディング、イベント リスナー、ミドルウェア、さらにはルートの登録を含むオブジェクトの登録を意味します。サービス プロバイダーはアプリケーション構成の中心です。
Lumen に付属の bootstrap/app.php ファイルを開くと、$app->register() 呼び出しが表示されます。これには、アプリケーションによってロードされるすべてのサービス プロバイダー クラスが含まれています。
2.1 register メソッド
前に述べたように、 register メソッドでは、サービス コンテナにバインドするだけで、他のことは行わないでください。そうしないと、まだロードされていないサービス プロバイダーを誤って使用する可能性があります。
ここで、基本的なサービス プロバイダーがどのようなものかを見てみましょう:
<?phpnamespace App\Providers;use Riak\Connection;use Illuminate\Support\ServiceProvider;class RiakServiceProvider extends ServiceProvider{ /** * 在容器中注册绑定. * * @return void */ public function register() { $this->app->singleton('Riak\Contracts\Connection', function ($app) { return new Connection(config('riak')); }); }}
2.2 ブート方法
View Composer をサービスプロバイダーに登録したい場合はどうすればよいですか?これにはブートメソッドが必要です。このメソッドは、すべてのサービス プロバイダーが登録されるまで呼び出されません。これは、フレームワークによって登録された他のすべてのサービスにアクセスできることを意味します。 app.php。このファイルには $app->register() メソッド呼び出しが含まれており、このメソッド呼び出しに独自のカスタマイズされたサービス プロバイダーを配置して、サービス プロバイダーを登録できます。