欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

命名空间的三种引用方式:非限定名称、限定名称、完全限定名称

程序员文章站 2022-03-28 19:53:57
1 //命名空间的三种引用方式:非限定名称、限定名称、完全限定名称 2 3 namespace app\home; 4 const SET_NAME = '百度'; 5 function getDomain() { 6 return 'www.baidu.com'; 7 } 8 class Test... ......
 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>';

 结果:
  
  命名空间的三种引用方式:非限定名称、限定名称、完全限定名称