ホームページ  >  記事  >  バックエンド開発  >  [ Lumen 5.2 ドキュメント ] その他の機能 -- サービスコンテナ

[ Lumen 5.2 ドキュメント ] その他の機能 -- サービスコンテナ

WBOY
WBOYオリジナル
2016-06-20 12:37:04728ブラウズ

1. はじめに

Laravel サービス コンテナは、クラスの依存関係を管理し、依存関係の注入を実行するための強力なツールです。コンストラクターまたは「セッター」メソッドを介してコードに挿入されます。

2. Laravel との違い

Lumen フレームワークと Laravel フレームワークは同じサービス コンテナを使用するため、サービス コンテナに関する完全なドキュメントについては、完全な Laravel サービス コンテナを参照してください。ドキュメント。

アクセスコンテナ

LaravelLumenApplication インスタンスは IlluminateContainerContainer から継承するため、アプリケーションのサービス コンテナとして使用されます。

通常、サービスプロバイダーでコンテナへのバインディングを登録し、コンテナが提供するバインド、シングルトン、インスタンスなどのメソッドを使用してバインディング操作を実装できます。

インスタンスの解決

コンテナからオブジェクトを解決するには、コンテナによって自動的に解決されたクラス (ルート クロージャ、コントローラ コンストラクタ、コントローラなど) でオブジェクトを解決できます。メソッド、ミドルウェア、イベント リスナー、キュー タスクなど) 型ヒントを使用してオブジェクトを挿入するか、アプリ関数を使用して直接解析することもできます:

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