我是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;