2
현재 정적 메서드 나 전역 상태를 사용하지 않고 PHP로 약간의 프로젝트를 구축 중입니다.PHP에서 의존성 주입?
내 클래스의 생성자는 현재 이와 비슷하게 보이지만, 객체 인스턴스를 만들 때 종속 객체를 주입하고 있습니다.
class Something {
public function __construct(Name\Space\Object $object, Other\Name\Space $object2)
{
# Assign properties here
}
}
내 응용 프로그램의 클래스 중 하나에서 해당 메서드를 호출하여 다양한 개체의 새 인스턴스를 만들어야합니다. 아래에 조금 닮은 것;
class Something {
public function getNewObject()
{
return new Name\Space\Object();
}
public function getNewObject2()
{
return new Name\Space\ObjectTwo();
}
}
표준 의존성 주입 규칙을 준수하면서 어떻게해야합니까?
개체를 생성자에 삽입하는 것처럼 다른 방법으로 수행 할 수 있는지 확신 할 수없는 경우 응용 프로그램 내에서 많은 개체가 필요한 반면 개체가 하나만 포함됩니다.
덕분에,
이것은 멋지게 테스트를 구현하고 내가 어떻게 시작하는지 알려줍니다. 덕분에 내 솔루션보다 나은 솔루션입니다. – SolarSync
이 솔루션은 작동하지만 클래스 이름을 생성자에 전달하면됩니다. $ klass 속성을 clobbering하여 런타임에 클래스를 재 할당 할 수도 있습니다. –
감사합니다 :) 많이 도움이되었습니다. – SolarSync