szukałem w ten problem, ponieważ klasa opiera się na pewnym kontekście, który należy podać. Więc zrobiłem funkcję w mojej klasie, która będzie zwracać klasę można wymagać tak:
/**
* Instantiate a class by class name in variable
*
* @param string $className The name of the class
* @return mixed The instantiated class
*/
protected function getClass($className)
{
return new $className;
}
Dlatego można nazwać za pomocą $class = new $this->getClass(static::CLASSNAME);
gdy określona stałą w aktualnej klasy, która przechowuje nazwę klasy ty chcesz utworzyć instancję. W twoim przypadku możesz go używać bez "static::
" lub dowolnej zmiennej, której chcesz użyć. Nie zapomnij zaimplementować obsługi błędów.
Dobre pytanie. Hmm. – Prash
Być może, jeśli określisz, co naprawdę chcesz zrobić, może istnieć kilka lepszych alternatywnych sposobów. Może to być problem [XY Problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) –