PHP命名空间混淆 - 关键字v常量

时间:2013-03-25 20:36:27

标签: php namespaces

我刚才正在学习php命名空间,并且对于namespace关键字和命名空间常量之间的区别感到困惑:

__NAMESPACE__
namespace

php.net上的所有示例似乎都使用如下关键字:

namespace\MyClass或类似的东西。这也很容易用常量完成。

有人可以解释它们之间的根本区别以及何时使用其中之一。

1 个答案:

答案 0 :(得分:1)

命名空间关键字namespace用于在文件中定义命名空间,类似于C#的namespace关键字(但没有用于定义范围的大括号)或Java的package关键字。 / p>

在PHP中,__NAMESPACE__常量返回当前命名空间范围名称的字符串值。尽量避免使用它,因为它会使你的代码变得混乱,但是当使用字符串作为类型名时它会很有用。

PHP手册中有更多文档:http://www.php.net/manual/en/language.namespaces.nsconstants.php