ডিপেন্ডেন্সি ইনজেকশন হলো একটি প্রক্রিয়া যেখানে একটি অবজেক্ট অন্য অবজেক্টের ডিপেন্ডেন্সি সরবরাহ করে। ডিপেন্ডেন্সি ইনজেকশন একটি সফটওয়্যার ডিজাইন পদ্ধতি যা হার্ড-কোডেড ডিপেন্ডেন্সি এড়াতে সাহায্য করে এবং রানটাইম ও কম্পাইল টাইম দুটোতেই ডিপেন্ডেন্সি পরিবর্তন করা সম্ভব করে।
অবজেক্ট ইনজেক্ট করার অনেক পদ্ধতি রয়েছে, 그중 معروف দুটি নিচে দেওয়া হলো:
কনস্ট্রাক্টর ইনজেকশন (Constructor 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 Injection)
এখানে একটি সেটার ফাংশন দিয়ে অবজেক্টটি আপনার ক্লাসে ইনজেক্ট করা হয়।
উদাহরণ
<?php
class Profile {
private $language;
public function setLanguage($language){
$this->language = $language;
}
}
$profile = new Profile();
$language = array["Hindi","English","French"];
$profile->setLanguage($language);
?>
ডিপেন্ডেন্সি ইনজেকশনের সুবিধা
- নতুন ডিপেন্ডেন্সি যোগ করা একটি নতুন সেটার মেথড যোগ করার মতো সহজ, যা এক্সিস্টিং কোডের সাথে ইন্টারফেয়ার করে না।