我最近學會了依賴注入的優點,但是想知道我是否應該在我的項目中使用它,因爲我甚至不需要完整的mvc。現在我正在使用它,我意識到我寫的每個頁面都有額外的開銷。例如...我應該在我的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);
account.class.php
class Account {
...
public function __construct(Session $objSession, Db $objDb) {
$this->session = $objSession;
$this->db = $objDb;
}
}
... Account類永遠需要DB和會議,我會永遠只能有一個類各。所以我的問題是,我應該在這樣的情況下使用DI或者我應該只使用...
account.class.php
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();
}
}
...?
依賴注入不僅僅適用於MVC,它是整個項目範圍內的良好實踐,無論您是否使用框架。 –
對不起,並不打算暗示它是,只是這個項目不需要。 – Isius
通過實施自動加載器,您確實可以使代碼變得更加清潔,因此您可以放棄所有要求(當然除了自動加載器的要求)。 – GordonM