Chèn phụ thuộc là một thủ tục trong đó một đối tượng cung cấp các phụ thuộc của một đối tượng khác. Dependency Injection là một cách tiếp cận thiết kế phần mềm cho phép tránh các phụ thuộc mã hóa cứng và giúp bạn có thể thay đổi các phụ thuộc cả trong thời gian chạy và thời gian biên dịch.
Có nhiều cách tiếp cận để tiêm các đối tượng, sau đây là một số cách thường được biết đến -
Chèn mã lệnh
Trong cách tiếp cận này, chúng ta có thể đưa một đối tượng vào thông qua phương thức khởi tạo của lớp.
Ví dụ
<?php class Programmer { private $skills; public function __construct($skills){ $this->skills = $skills; } public function totalSkills(){ return count($this->skills); } } $createskills = array("PHP", "JQUERY", "AJAX"); $p = new Programmer($createskills); echo $p->totalSkills(); ?>
Đầu ra
3
Tiêm chất định vị
nơi bạn đưa đối tượng vào lớp của mình thông qua một hàm setter.
Ví dụ
<?php class Profile { private $language; public function setLanguage($language){ $this->language = $language; } } $profile = new Profile(); $language = array["Hindi","English","French"]; $profile->setLanguage($language); ?>
Lợi ích của Tiêm phụ thuộc
- Thêm một phương thức phụ thuộc mới cũng dễ dàng như thêm một phương thức setter mới, điều này không ảnh hưởng đến mã hiện có.