在php中的命名空间和类
问题描述:
为什么我收到错误?在同一个命名空间中的类..在php中的命名空间和类
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;
答
我无法找到PHP手册篇章,段落,但显而易见的解释是,当你做:
$obj = new $string
然后$string
的值没有映射到当前命名空间。这是有道理的,当你认为$string
可能已经从其他地方传入,其中不同的名称空间可能已经生效。
所以*这就是*传说中的命名空间是什么样子...... – 2009-11-28 17:58:38