Gần đây tôi đã học được giá trị của việc tiêm phụ thuộc nhưng tôi tự hỏi liệu tôi có nên sử dụng nó trong dự án của mình vì tôi thậm chí không yêu cầu một mvc thổi hoàn toàn. Bây giờ tôi đang sử dụng nó, tôi nhận ra thêm chi phí trên mỗi trang mà tôi viết. Ví dụ ...Tôi có nên sử dụng tiêm phụ thuộc trong dự án php của mình không?
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;
}
}
... lớp Account sẽ luôn luôn cần Db và Session và tôi sẽ chỉ bao giờ có một lớp của mỗi. Vì vậy, câu hỏi của tôi là, tôi nên sử dụng DI trong một tình huống như thế này hay nên tôi chỉ sử dụng ...
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();
}
}
...?
Dependency Injection không chỉ dành cho MVC, đó là thực hành tốt trong một loạt các dự án cho dù bạn đang sử dụng một khung công tác hay không. –
Xin lỗi, không có ý định ngụ ý rằng nó là, chỉ rằng dự án này không yêu cầu một. – Isius
Bạn thực sự có thể làm cho mã sạch hơn rất nhiều bằng cách chỉ cần thực hiện một autoloader để bạn có thể mương tất cả các yêu cầu (ngoại trừ các yêu cầu cho autoloader tất nhiên). – GordonM