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

ob_startを使ったバッファリング出力

先日var_dumpの結果をログに出力したいときに検索すると下記のようなコードを書けばよいということがわかりました。

ob_start …

no image

SQSのキュー登録とworkコマンドに関して

SQSでのキューの登録に関して以前やりましたが、再度扱うことがあったので、調査を。 リンク SQSについて Queueの登録と実際の処理に関して Contents1 キューの登録2 キューの監視 キュ …

no image

inotifyによる検知

以前、pynotifyというpythonの検知プログラムを書きましたが、元々はinotifyというLinux上のパッケージのライブラリが元になっています。 以前調べたリンク 監視検知処理に関して 実務 …

no image

cakePHPでの直SQL

今回はCakePHPにて直のSQLを書く方法を。 cakePHPにて大概の処理はもともと備わっているコマンドでなんとかなりますが、まれに直SQLを書いたほうがらくなこともあります。 書き方その1 [c …

no image

Cakeでのリレーションについて

いまさらながらCakeのリレーションについての復習。 基本から。 Contents1 基本的なリレーション1.1 1対N1.2 N対11.3 動的な紐づけ 基本的なリレーション 下記のようなテーブル構 …