การฉีดการพึ่งพาเป็นขั้นตอนที่วัตถุหนึ่งให้การพึ่งพาของวัตถุอื่น Dependency Injection เป็นแนวทางการออกแบบซอฟต์แวร์ที่ช่วยให้หลีกเลี่ยงการขึ้นต่อกันแบบฮาร์ดโค้ด และทำให้สามารถเปลี่ยนการขึ้นต่อกันทั้งที่รันไทม์และเวลาคอมไพล์ได้
มีหลายวิธีในการฉีดวัตถุ ซึ่งโดยทั่วไปรู้จักกันดีอยู่แล้ว –
คอนสตรัคเตอร์ฉีด
ในแนวทางนี้ เราสามารถฉีดวัตถุผ่านตัวสร้างคลาสได้
ตัวอย่าง
<?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(); ?>
ผลลัพธ์
3
เซ็ตเตอร์ฉีด
ที่คุณฉีดวัตถุไปยังชั้นเรียนของคุณผ่านฟังก์ชัน setter
ตัวอย่าง
<?php class Profile { private $language; public function setLanguage($language){ $this->language = $language; } } $profile = new Profile(); $language = array["Hindi","English","French"]; $profile->setLanguage($language); ?>
ประโยชน์ของการพึ่งพาการฉีด
- การเพิ่มการพึ่งพาใหม่ทำได้ง่ายเหมือนกับการเพิ่มเมธอด setter ใหม่ ซึ่งไม่รบกวนโค้ดที่มีอยู่