非限定名称(Unqualified name)
名称中不包含命名空间分隔符的标识符,例如 Foo
限定名称(Qualified name)
名称中含有命名空间分隔符的标识符,例如 Foo\Bar
完全限定名称(Fully qualified name)
名称中包含命名空间分隔符,并以命名空间分隔符开始的标识符,例如 \Foo\Bar。 namespace\Foo 也是一个完全限定名称。
相对名称(Relative name)
这是个以 namespace 开头的标识符, 例如 namespace\Foo\Bar。
完全限定名称总是会解析成没有前缀符号的命名空间名称。 \A\B 解析为 A\B。
解析相对名称时,会用当前命名空间的名称替换掉 namespace。 如果名称出现在全局命名空间,会截掉 namespace\ 前缀。 例如,在命名空间 X\Y 里的 namespace\A 会被解析成 X\Y\A。 在全局命名空间里,同样的名字却被解析成 A。
对于限定名称,名字的第一段会根据当前 class/