Я недавно узнал о преимуществах инъекции зависимостей, но мне интересно, должен ли я использовать его в своем проекте, так как мне даже не требуется полномасштабный 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;
}
}
... класс счета всегда нужно 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();
}
}
...?
Injection Dependency предназначен не только для MVC, это хорошая практика во множестве проектов, независимо от того, используете ли вы фреймворк или нет. –
Извините, не предполагал, что это так, только этот проект не требует этого. – Isius
Вы действительно могли бы сделать код намного более чистым, просто внедряя автозагрузчик, чтобы вы могли отбросить все требуемые (за исключением необходимости для автозагрузчика, конечно). – GordonM