डिपेंडेंसी इंजेक्शन एक प्रक्रिया है जहां एक ऑब्जेक्ट दूसरे ऑब्जेक्ट की निर्भरताओं को सप्लाई करता है। डिपेंडेंसी इंजेक्शन एक सॉफ्टवेयर डिज़ाइन दृष्टिकोण है जो हार्ड-कोडिंग निर्भरताओं से बचने की अनुमति देता है और रनटाइम और कंपाइल टाइम दोनों पर निर्भरताओं को बदलना संभव बनाता है।
ऑब्जेक्ट्स को इंजेक्ट करने के कई दृष्टिकोण हैं, यहां कुछ आम तौर पर ज्ञात हैं -
कंस्ट्रक्टर इंजेक्शन
इस दृष्टिकोण में, हम क्लास कंस्ट्रक्टर के माध्यम से एक ऑब्जेक्ट इंजेक्ट कर सकते हैं।
उदाहरण
<?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);
?>
डिपेंडेंसी इंजेक्शन के लाभ
- एक नई निर्भरता जोड़ना एक नया सेटर मेथड जोड़ने जितना आसान है, जो मौजूदा कोड में हस्तक्षेप नहीं करता है।