skillup

技術ブログ

PHP

PHPにおけるDI

投稿日:

DIについての概要

PHPでのDI(Dependency Injection)に関して。

オブジェクト指向の本を読むにつれて少しずつDIの有効性がわかってきました。

現状でのDIのメリットをまとめると下記のような点かと。

  • 外部からのクラスを注入することにより、クラス自体を単一責任にすることができる
  • 上記のメリットにより、注入される側のクラスの依存度が下がり、単体でのクラスのテストが簡単
  • インターフェイスを定義することで注入する側のクラスのインスタンスが変更されても問題ない
  • DIの注入をする部分がFactory。変更する場合はここのみを変えておけばOK。(スイッチを切り替えるイメージ)

自分の中では単一の機能の話というよりは、プログラムの書き方自体にかかわってくる思想そのものという感じです。

自分が作った簡単なサンプル(リンクの写経)

https://github.com/umanari145/phptips

参考リンク

PHPでDIをする

PHPでDI(Dependency Injection)

DI(依存性注入)がいみわからん

-PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Basic認証のあるページの情報の取得

ひさびさにPHPネタです。 PHPではWEBページを保存するときにfile_get_contents(url)と書いてあげるとHTMLデータを取得できます。 が、Basic認証などのページは当然fal …

no image

PHPでのコンソール入力に関して

PHPはほとんどの場合、ブラウザでURLをたたいてWEBサーバーから呼び出されるパターンがほとんどです。 ところが、コンソールから使いたい場合などもあるでしょう。 コンソールから入力する場合、なんらか …

no image

拡張子の取得

PHPで配列を取得する場合、下記のメソッドで一気に取得できます。 pathinfo( ファイルパス,PATHINFO_EXTENSION ) いままで正規表現使ったり、explodeでやったりといろん …

no image

PHPでの日付関数の扱い方

このブログの投稿数ももう少しで150近くになりました。 で、9割以上がJavaなんですが、私はPHPのスクールを運営しています(笑) ということでPHPのスキルを忘れてはいけないということで、今日はち …

no image

php5.6のインストール+cake3でのbake

cake3を動かしたい場合、PHP5.4以上でないと動きません。 2016年1月現在、CentOS6でyumでPHPをインストールする場合、php5.3ですので、5.4以上を入れる場合、別のリポジトリ …