namespace foo;
class foo{
}
$foo = new foo();
如果我删除了命名空间,那么该类工作正常,如果命名空间在那里,我会收到class foo unfound
错误。这是什么原因?
答案 0 :(得分:2)
如果您的类是命名空间,那么您需要在实例化时引用该命名空间(假设您在实例化时位于全局命名空间中)。
$foo = new foo\foo();
这就是重点。您可以在不同的命名空间中拥有多个foo
类。
namespace foo;
class foo {}
然后......
namespace bar;
class foo {}
现在......
$foo1 = new foo\foo();
$foo2 = new bar\foo();
了解命名空间的工作原理:http://it2.php.net/namespaces