나는 초기화 클래스에 따라 다른 클래스의 인스턴스를 제공하는 클래스 Core()
이 있다고 가정 해 보겠습니다. 그것을 시작한 후에, 나는 어떤 수업을 듣고 그 다음 그것을 실연하기를 원한다. 이것은 내가하는 일입니다.짧은 인스턴스화 PHP 클래스
$core = new Core();
// $core is further initiated
$api = $core->getClass(); // This returns, for instance class Library_MyClass
$class = new $api();
마지막 두 단계를 하나로 결합하는 방법이 있습니까? 예를 들어 $class = new $core->getClass()()
과 같은 것을 말하고 싶습니까? 분명히 내가 쓴 것은 잘못이지만, 그것은 내가 원하는 것입니다! 그게 가능하니? 난 당신이 여기에 몇 가지 SOLID principles을 위반 될 수 있습니다 의심
class Core
{
public function getClass()
{
return new Library_MyClass();
}
}
$core = new Core();
$class = $core->getClass();
그러나 클래스
Core
의 이름을 고려 :
일반적으로 클래스 안에는 클래스가 없습니다. 내가 생각하기에 그들을 분리시켜야한다. –