为什么我收到错误?同一名称空间中的类..
php 5.3.0
namespace ExampleSystem\Core;
class Test {
public function __construct() {
print 'Test ok';
}
}
// Fatal error: Class 'Test' not found in ...
$class_name = 'Test';
$obj = new $class_name;
// Ok
$class_name = 'ExampleSystem\Core\Test';
$obj = new $class_name;
// Ok
$obj = new Test;
答案 0 :(得分:2)
我在PHP手册中找不到章节和经文,但明显的解释是当你这样做时:
$obj = new $string
然后$string
的值未映射到当前名称空间。这是有道理的,当您考虑$string
可能已经从其他地方传入时,其他命名空间可能已经生效。