命名空间迫使我的课程没有成功

时间:2013-12-04 18:09:38

标签: php namespaces

namespace foo; 

class foo{

}

$foo = new foo();

如果我删除了命名空间,那么该类工作正常,如果命名空间在那里,我会收到class foo unfound错误。这是什么原因?

1 个答案:

答案 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