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

実践Dependency Injection

hidenorigoto
September 15, 2012

実践Dependency Injection

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

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೔౔༵೔