종속성 주입은 한 개체가 다른 개체의 종속성을 제공하는 절차입니다. 종속성 주입은 하드 코딩 종속성을 방지하고 런타임 및 컴파일 시간에 종속성을 변경할 수 있도록 하는 소프트웨어 설계 접근 방식입니다.
개체를 주입하는 방법에는 여러 가지가 있습니다. 일반적으로 알려진 몇 가지 방법은 다음과 같습니다.
생성자 주입
이 접근 방식에서는 클래스 생성자를 통해 개체를 삽입할 수 있습니다.
예시
<?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 메서드를 추가하는 것만큼 쉽습니다.