Я новичок в PHP, и я попытался динамически создать такой класс:
$var = new \App\$str;
Но я продолжаю получать эту ошибку:
unexpected variable $str after '\', expected: identifier.
Я знаю, что это возможно, но я просто не уверен, каков точный синтаксис, все примеры, которые я нашел, без \App\
часть, которая мне нужна.
new
Оператор принимает либо идентификатор имени класса, либо переменную, содержащую имя класса, но не их смесь.
Поскольку часть вашего полного имени класса неизвестна (динамическая), вы должны поместить все части в строковую переменную:
$class_name = 'A';
$namespace = '\\App';
$fully_qualified_class_name = "$namespace\\$class_name";
$var = new $fully_qualified_class_name;
Других решений пока нет …