1 //命名空间的三种引用方式:非限定名称、限定名称、完全限定名称 2 3 namespace app\home; 4 const SET_NAME = '百度'; 5 function getDomain() { 6 return 'www.baidu.com'; 7 } 8 class Test { 9 static public function hello() { 10 return '众里寻他千百度'; 11 } 12 } 13 14 //1、非限定名称:省略空间名称,使用默认或当前的命名空间 15 echo SET_NAME,'<br>'; 16 echo getDomain(),'<br>'; 17 echo Test::hello(),'<br>'; 18 echo '当前命名空间: ',__NAMESPACE__,'<hr>'; 19 20 //2、限定名称:前面必须添加命名空间才可访问,通常用于子空间 21 namespace app\home\index;//声明一个子空间 22 const SET_NAME = '博客园'; 23 function getDomain() { 24 return 'www.cnblogs.com'; 25 } 26 class Test { 27 static public function hello() { 28 return '开发者的网上家园'; 29 } 30 } 31 namespace app\home;//先切换到父空间 32 echo index\SET_NAME,'<br>';//使用父空间下的index子空间 33 echo index\getDomain(),'<br>'; 34 echo index\Test::hello(),'<br>'; 35 echo '当前命名空间: ',__NAMESPACE__,'<hr>'; 36 37 //3、完全限定名称:类似绝对目录,从全局空间的反斜线开始\ 38 echo \app\home\SET_NAME,'<br>'; 39 echo \app\home\getDomain(),'<br>'; 40 echo \app\home\Test::hello(),'<hr>'; 41 42 echo \app\home\index\SET_NAME,'<br>'; 43 echo \app\home\index\getDomain(),'<br>'; 44 echo \app\home\index\Test::hello(),'<hr>';
结果:
