PHP-DI

(2016/08/14)
  • https://github.com/PHP-DI/PHP-DI

  • その名の通りPHPDIコンテナ
  • GitHubで検索すると一番Star数が多い(2016/6/26)
  • https://github.com/search?utf8=%E2%9C%93&q=php+di+container
  • 以下機能

  • 基本的に自動解決で動くっぽい
  • PHP-DI先生 says autowiring
  • 一度コードを全てスキャンした後は結果をキャッシュする
  • スキャンにはリフレクションを使ってる
  • パフォーマンス問題ないぜ!心配すんな!みんなやってるぜ!って言ってる
  • PHP-DIには機能が3つある
  • autowriting
  • アノテーション
  • コードによる定義
  • 軽量にしたければautowriting, annotationをオフにできる
  • get()だとシングルトン、make()だと新たなインスタンスを引っ張れる
  • make()では第二引数にコンストラクタに渡したいパラメータも指定できる
  • 足りないものは自動解決する
  • injectOn()でインスタンス生成後の処理を書ける
  • 環境変数セットする機能もある
  • ワイルドカードでマッピングできる
  • 便利 http://php-di.org/doc/php-definitions.html#wildcards
  • 全体的に非常に多機能

  • 個人で使う必要ないのでは…
  • FW用って感じ
  • DI DIコンテナ PHP

general(396)