ホームページ  >  記事  >  ウェブフロントエンド  >  [ Lumen 5.2 ドキュメント ] その他の機能 -- service Provider_html/css_WEB-ITnose

[ Lumen 5.2 ドキュメント ] その他の機能 -- service Provider_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-24 11:26:331152ブラウズ

1. はじめに

サービス プロバイダーは、Lumen アプリケーションの起動の中心です。独自のアプリケーションとすべての Lumen のコア サービスは、サービス プロバイダーを通じて開始されます。

しかし、「スタートアップ」とは何を意味するのでしょうか?通常、これはサービス コンテナ バインディング、イベント リスナー、ミドルウェア、さらにはルートの登録を含むオブジェクトの登録を意味します。サービス プロバイダーはアプリケーション構成の中心です。

Lumen に付属の bootstrap/app.php ファイルを開くと、$app->register() 呼び出しが表示されます。これには、アプリケーションによってロードされるすべてのサービス プロバイダー クラスが含まれています。

2. サービス プロバイダーを作成する

すべてのサービス プロバイダーは IlluminateSupportServiceProvider クラスを継承します。この抽象クラスを継承するには、サービス プロバイダーで少なくとも 1 つのメソッド register を定義する必要があります。 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'));        });    }}

このサービス プロバイダーは register メソッドのみを定義し、このメソッドを使用してサービス コンテナー内の RiakConnection の実装を定義します。サービス コンテナの仕組みがわからない場合は、そのドキュメントを確認してください。

2.2 ブート方法

View Composer をサービスプロバイダーに登録したい場合はどうすればよいですか?これにはブートメソッドが必要です。このメソッドは、すべてのサービス プロバイダーが登録されるまで呼び出されません。これは、フレームワークによって登録された他のすべてのサービスにアクセスできることを意味します。 app.php。このファイルには $app->register() メソッド呼び出しが含まれており、このメソッド呼び出しに独自のカスタマイズされたサービス プロバイダーを配置して、サービス プロバイダーを登録できます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。