डिपेंडेंसी इंजेक्शन एक ऐसी प्रक्रिया है जिसमें एक ऑब्जेक्ट दूसरे ऑब्जेक्ट की डिपेंडेंसी की आपूर्ति करता है। डिपेंडेंसी इंजेक्शन एक सॉफ्टवेयर डिजाइन दृष्टिकोण है जो हार्ड-कोडिंग निर्भरता से बचने की अनुमति देता है और निर्भरता को रनटाइम और कंपाइल समय दोनों में बदलना संभव बनाता है।
वस्तुओं को इंजेक्ट करने के कई तरीके हैं, यहाँ कुछ ऐसे जोड़े हैं जिन्हें आम तौर पर जाना जाता है -
कंस्ट्रक्टर इंजेक्शन
इस दृष्टिकोण में, हम किसी ऑब्जेक्ट को क्लास कंस्ट्रक्टर के माध्यम से इंजेक्ट कर सकते हैं।
उदाहरण
<?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
सेटर इंजेक्शन
जहां आप एक सेटर फ़ंक्शन के माध्यम से ऑब्जेक्ट को अपनी कक्षा में इंजेक्ट करते हैं।
उदाहरण
<?php
class Profile {
private $language;
public function setLanguage($language){
$this->language = $language;
}
}
$profile = new Profile();
$language = array["Hindi","English","French"];
$profile->setLanguage($language);
?> निर्भरता इंजेक्शन के लाभ
- नई निर्भरता जोड़ना एक नई सेटर विधि जोड़ने जितना आसान है, जो मौजूदा कोड में हस्तक्षेप नहीं करता है।