使用命名空间
1. 访问PHP命名空间中的内容与文件系统中访问一个文件是同样的原理
1)相对文件名 形式如 foo.txt 它会被解析为 当前目录 /foo.txt
2)相对路径名 形式如 subdirectory/foo.txt 它被解析为 当前目录 /subdirectory/foo.txt
3)绝对路径名 形式如 /main/foo.txt 它会被解析为 /main/foo.txt
同理,
访问PHP命名空间中的元素(类、函数、常量)主要有三种表现形式
非限定名称:
new ClassA( );
aa( );
echo NAME;
注:
在解析类和函数、常量时有不同的策略:
如果是类,当前命名空间下没有这个类,那么会出错,它不会主动的再到全局空间里找这个类
在解析函数或常量时是不一样的:如果当前命名空间没有这个元素,它会退到全局空间去找这个元素
限定名称:
new SpaceA\ClassA( );
SpaceA\aa( );
echo SpaceA\NAME;
完全限定名称:
new \SpaceA\ClassA( );
\SpaceA\aa( );
echo \SpaceA\NAME;
注:
使用时首先看下你当前在哪个命名空间下,你要使用的那个元素在哪个命名空间下