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

実践Dependency Injection

Avatar for hidenorigoto hidenorigoto
September 15, 2012

実践Dependency Injection

PHPカンファレンス2012 実践Dependency Injectionスライド

Avatar for hidenorigoto

hidenorigoto

September 15, 2012
Tweet

More Decks by hidenorigoto

Other Decks in Technology

Transcript

  1. DIコンテナ? 17 • DIパターンを適用するためのツールの1つ • DIパターン、SOLID原則等を適用していく 場合・・・・必須 • 銀の弾丸ではない •

    DIコンテナさえ使っていれば良い、とい うわけではない • 使う側の理解が重要 12೥9݄15೔౔༵೔
  2. PHPのDI実装 • Symfony Dependency Injection • Zend\Di • Aura.Di •

    Ray.Di • Ding • Pimple 18 12೥9݄15೔౔༵೔
  3. Symfony DIコンポーネント • DIコンテナの基本機能 • オーソドックスなインジェクション • エクステンション機構 • コンテナのダンプ機能

    • コンパイルプロセス 22 コンポーネントの 粒度で拡張ポイン トを扱う パフォーマンス 向上 12೥9݄15೔౔༵೔
  4. Symfony DIコンポーネント • DIコンテナの基本機能 • オーソドックスなインジェクション • エクステンション機構 • コンテナのダンプ機能

    • コンパイルプロセス 22 コンポーネントの 粒度で拡張ポイン トを扱う パフォーマンス 向上 ʂ 12೥9݄15೔౔༵೔
  5. コンパイル • PHPでは意識する必要がなかった「コンパイル」を、再び開発者の手 に • DIコンテナの持つ機能、抽象的なコンパイル • フレームワークの持つ可変性・柔軟性は、ランタイムで動的に必要な わけではない •

    コンパイルにより固定化する • コンパイル時に決定できる情報はできるだけコンパイル時に寄せ る • パフォーマンス向上 • Configコンポーネントなどと組み合わせ、ジェネレーティブプログラ ミングへの道筋となる 40 12೥9݄15೔౔༵೔