私は最近、依存性注入のメリットを学んだことがありますが、私は自分のプロジェクトでそれを使うべきかどうか疑問に思っています。これを使用しているので、私はそれぞれのページで余分なオーバーヘッドを認識しています。たとえば...私は私のPHPプロジェクトで依存関係注入を使用する必要がありますか?
require_once '../../include/session.class.php';
require_once '../../include/db.class.php';
require_once '../../include/account.class.php';
$objSession = new Session();
$objDb = new Db();
$objAccount = new Account($objSession, $objDb);
class Account { ... public function __construct(Session $objSession, Db $objDb) { $this->session = $objSession; $this->db = $objDb; } }
account.class.php ... Accountクラスは常にDBとのセッションが必要になりますし、私は今まで、それぞれの1つのクラスを持っています。 ...だから私の質問は、私はこのような状況でDIを使用する必要がある場合、または私はちょうど使用する必要があります...
require_once '../../include/session.class.php';
require_once '../../include/db.class.php';
class Account {
...
public function __construct() {
$this->session = new Session();
$this->db = new Db();
}
}
account.class.php
?
依存性注入はMVCだけではなく、フレームワークを使用しているかどうかに関わらず、あらゆるプロジェクトで良い方法です。 –
申し訳ありませんが、このプロジェクトでは必要ないことを暗示するつもりはありません。 – Isius
実際にオートローダを実装するだけで、コードをもっとクリーンにすることができますので、必要なものすべてを省くことができます(もちろん、オートローダの必要は除きます)。 – GordonM