PHP,命名空间中的新变量类

Jfd*_*dev 15 php oop namespaces

我正在尝试使用PHP 5.3的命名空间功能,我无法弄清楚如何使用命名空间前缀来实例化一个新类.

这目前工作正常:

<?php
new $className($args);
?>
Run Code Online (Sandbox Code Playgroud)

但是我如何在变量类名前面添加我的命名空间?以下示例不起作用.

<?php
new My\Namespace\$className($args);
?>
Run Code Online (Sandbox Code Playgroud)

此示例产生:解析错误:语法错误,意外T_VARIABLE

JRL*_*JRL 18

试试这个:

$class = "My\Namespace\\$className";
new $class();
Run Code Online (Sandbox Code Playgroud)

  • 你不需要逃避反斜杠?"我\\ \\命名空间的$ className"; (2认同)