从命名空间为的变量构造类


construct class from variable with namespace

我想要构造的类有一个名称空间,例如:'class_name

所以现在我想知道如何用PHP构建那个类。


我尝试过:

$class_name = 'class_name';
new '$class_name();

但我收到一个错误:

分析错误:语法错误,意外的"$class_name"(T_VARIABLE)

如何修复此错误?

如手册所述,您需要变量中的完整类名:

必须使用完全限定的名称(带有命名空间前缀的类名)。请注意,因为在动态类名、函数名或常量名中,限定名和完全限定名之间没有区别,所以不需要前导反斜杠。

这样做吧:

$class_name = ''class_name';
new $class_name();