我刚才正在学习php命名空间,并且对于namespace关键字和命名空间常量之间的区别感到困惑:
__NAMESPACE__
namespace
php.net上的所有示例似乎都使用如下关键字:
namespace\MyClass
或类似的东西。这也很容易用常量完成。
有人可以解释它们之间的根本区别以及何时使用其中之一。
答案 0 :(得分:1)
命名空间关键字namespace
用于在文件中定义命名空间,类似于C#的namespace
关键字(但没有用于定义范围的大括号)或Java的package
关键字。 / p>
在PHP中,__NAMESPACE__
常量返回当前命名空间范围名称的字符串值。尽量避免使用它,因为它会使你的代码变得混乱,但是当使用字符串作为类型名时它会很有用。
PHP手册中有更多文档:http://www.php.net/manual/en/language.namespaces.nsconstants.php