Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LaravelでDIを扱う仕組み ~Service ContainerとService Provider~

2bo
December 05, 2019

LaravelでDIを扱う仕組み ~Service ContainerとService Provider~

2bo

December 05, 2019
Tweet

More Decks by 2bo

Other Decks in Technology

Transcript

  1. • @AkogareSe • エンジニア8年目 ◦ SIer->社内エンジニア ◦ PHP歴1年 ◦ Laravel勉強中

    ◦ AWS/Vue.js勉強したい • 旅行好き • IKEAシャークかわいい 自己紹介
  2. DIの課題とコンテナ • 課題 ◦ 注入するオブジェクトの生成をどこでやるか? ◦ オブジェクトが多かったり、入れ子だと生成が大変 ▪ A,B,C ▪

    A->B->C • DIコンテナ ◦ DIに必要な機能を提供するソフト/フレームワーク ◦ 注入するオブジェクトの生成、管理を担う
  3. つまり何? • Service Container ◦ DIコンテナ • Service Provider ◦

    Laravelのサービス(機能)の初期化処理を書くクラス ◦ SCへオブジェクトの生成方法を登録する場所として使われる
  4. まとめ • DI ◦ 利用するオブジェクトを引数で渡してやること ◦ 振る舞いを後から変えられる • DIコンテナ ◦

    DIに必要な機能を提供してくれるもの • Service Container ◦ LaravelのDIコンテナ • Service Provider ◦ SCにオブジェクトの生成ルールを登録するところ