Laravel: DI

使い方

  • LaravelのDIコンテナはサービスコンテナという名前。使い方は下記の通り。

    1. サービスプロバイダを作る(例: php artisan make:provider CommentServiceProvider )。作ったファイルはApp/Providers以下に保存される。
    2. サービスプロバイダ内のregister()に$this->app->bind('インターフェイス名', 呼ぶオブジェクト);のように書いて登録。
    3. config/app.php内のプロパティ:providersに作成したサービスプロバイダを追記する。
    4. これでコンストラクタインジェクションが動作する。
  • ユニットテストのときにMockに切り替えたいときは、テストコードの中で指定するらしい。

    • つまり、設定ファイルを複数作って、テストのときはテスト用の設定ファイルを読んで、みたいなつくりではないみたい。

詳細はマニュアル参照