サービスコンテナの依存性注入

前々回前回とサービスコンテナについてやって来た続きです。今回はサービスコンテナを使った、クラスのインスタンス生成と依存性の注入を試してみます。

  • クラス名でのインスタンス生成と依存性注入
  • インターフェースでの依存性注入
  • タイプヒントによる依存性注入

これらの機能は、これこそがLaravelの正体と言っても過言では無いくらい、あちらこちらで使われています。とても重要な機能です。

続きを読む

サービスコンテナのバインド

前回の「サービスコンテナ」では、bind() メソッドを使ったバインド方法しか試しませんでしが、今回はもう2種類の方法を試してみます。

  • シングルトンとしてのバインド
  • 既存インスタンスのバインド

続きを読む

依存性の注入とは

Laravel のドキュメントを見ていると「依存性の注入」という言葉が良く出てきます。依存性の注入は Dependency Injectionと言われ、「DI」と表記されます。また、別の表現では Inversion of Control(制御の反転)とも言われ、「IoC」と表記されます。Laravel のドキュメントでは「 loC」の方が使われています。

Laravel では、依存性の注入という概念を核としてフレームワークが作成されています。この概念を理解することが、Laravel を理解することへの近道になるかと思います。

この依存性の注入とは何でしょうか?
今回は簡単なPHPのサンプルで、この概念を理解したいと思います。
※ Laravelを使ったソースコードでは無いのでご注意ください。

続きを読む