Экземпляр класса из строкового значения?

Каким образом можно создать экземпляр класса и вызвать из него метод в данной ситуации.
use someClass\sub as Class;
use someAnotherClass\sub as AnotherClass;

$class = "Class\DummyClass";
$anotherClass = "AnotherClass\DummyClass";

call_user_func([new $class, "function"]);
call_user_func([new $anotherClass, "anotherFunction"]);

> Fatal error: Uncaught Error: Class 'Class\DummyClass' not found ...
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Директивы use - синтаксический сахар времени компиляции. В рантайме где вы в переменной помещаете имя класса этих директив уже нет и потому в переменной должно быть полное имя класса.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@karminski
Senior React.JS Developer
Прежде чем класс инициализировать (new), его нужно подключить с помощью include/require.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы