PHP中的“use \ namespace \ Class”和“use namespace \ Class”有什么区别?

时间:2011-10-18 11:00:13

标签: php namespaces

在我们的命名空间类文件中,有各种类,其名称空间前缀为反斜杠,而许多其他类则没有。

这两者有区别吗?哪个更适合使用?

e.g。

use namespace\ui\User

VS

use \namespace\ui\User

其中namespace本身表示命名空间类所在的根文件夹。

2 个答案:

答案 0 :(得分:2)

From the PHP documentation

  

请注意,对于命名空间名称(包含命名空间的完全限定名称空间名称)   分隔符,例如Foo \ Bar,而不是全局名称,例如FooBar),.   前导反斜杠是不必要的,不推荐,因为导入名称必须完全   限定,并且不会相对于当前命名空间进行处理。

这意味着您可以而且应该在导入/别名时省略前导\。

答案 1 :(得分:0)

如果你使用这种方法怎么样?

使用

$_SERVER["DOCUMENT_ROOT"].'\namespace\ui\User'