Чтобы создать экземпляр класса PHP из строки, вы можете использовать следующие методы:
-
Использование ключевого слова
new:$classString = 'ClassName'; $instance = new $classString();При этом создается новый экземпляр класса, указанного переменной
$classString. -
Использование
ReflectionClass:$classString = 'ClassName'; $reflection = new ReflectionClass($classString); $instance = $reflection->newInstanceWithoutConstructor();Этот метод позволяет создать экземпляр без вызова конструктора класса.
-
Использование
call_user_func()илиcall_user_func_array():$classString = 'ClassName'; $instance = call_user_func($classString.'::__construct');Этот метод напрямую вызывает конструктор класса.
-
Использование
eval()(не рекомендуется):$classString = 'ClassName'; $instance = eval("return new $classString();");Этот метод оценивает строку как код PHP и создает экземпляр указанного класса.
Важно отметить, что использование eval()обычно не рекомендуется из-за рисков безопасности, поскольку он может выполнить любой код PHP, переданный в виде строки.