


Java培训
达内IT学院
400-111-8989

第十节:名称解析规则 PHP命名空间 面向对象(OOP)
面向对象(OOP):
PHP命名空间(6)名称解析规则
1. 命名空间名称定义
1.1非限定名称 Unqualified name
名称中不包含命名空间分隔符的标识符,例如Foo
1.2限定名称 Qualified name
名称中含有命名空间分隔符的标识符,例如Foo\Bar
1.3完全限定名称 Fully qualified name
名称中包含命名空间分隔符,并以命名空间分隔符开始的标识符,例如\Foo\Bar。namespace\Foo也是一个完全限定名称。
2. 名称解析遵循规则
2.1对完全限定名称的函数,类和常量的调用在编译时解析。例如new\A\B解析为类A\B
2.2所有的非限定名称和限定名称(非完全限定名称)根据当前的导入规则在编译时进行转换。例如,如果命名空间A\B\C被导入为C,那么对C\D\e()的调用就会被转换为A\B\C\D\e()
2.3在命名空间内部,所有的没有根据导入规则转换的限定名称均会在其前面加上当前的命名空间名称。例如,在命名空间A\B内部调用C\D\e0,则C\D\e()会被转换为A\B\C\D()。