无法在PHP中创建对象

now*_*iko 1 php oop object

我尝试依赖变量创建对象.这是我的代码:

$a = 'Test';
$o = new $a();

Fatal error: Class 'Test' not found in ...
Run Code Online (Sandbox Code Playgroud)

我做错了什么?或者在PHP中这是不允许的?

Dav*_*hen 5

如果您正在为类使用命名空间,则必须使用字符串明确地将其写出来.

$a = '\namespace\Test';
$o = new $a();
Run Code Online (Sandbox Code Playgroud)

请阅读文档了解具体信息.

正如h2ooooooo所指出的,你可能会使用常量来指向当前的命名空间__NAMESPACE__.如,$a = '\' . __NAMESPACE . '\';.