如何使用命名空间从变量创建类

时间:2017-10-11 23:04:37

标签: php

$c = 'MyClass';

$obj = new $c(); // its ok

现在我想对命名空间做同样的事情:

$c = 'MyClass';

$obj = new \my\namespace\$c(); // syntax error, unexpected '$c'(T_VARIABLE)

怎么做?

1 个答案:

答案 0 :(得分:0)

您需要使用自己的字符串中的变量来定义命名空间(注意"命名空间"是保留字,而不是有效的命名空间 - 在此示例中已更改):

$c = 'MyClass';
$fqcn = '\\my\\namespaceXYZ\\' . $c;

$obj = new $fqcn();