💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
## 详解命名空间含义及调用方法(PHP5.3以上) 命名空间解决同名问题 函数或者类调用 ### 常量问题 分别在zhangsan跟lisi命名空间里定义 define('PI',3.14); 会报错重复定义 因为全局 如果分别在zhangsan跟lisi命名空间定里定义 const PI=3.14; 不会报错 因为归属于当前命名空间 ``` namespace zhangsan function test(){ echo 'zhangsan 函数'; } class A{ public function dome(){ echo 'zhangsan A类' } } const PI=3.14; namespace lisi function test(){ echo 'lisi 函数'; } class A{ public function dome(){ echo 'lisi A类' } } const PI=3.1415; test(); //当前函数调用于当前命名空间lisi \zhangsan\test(); //在同级调用方法 // 在同文件写的代码没有上一层概念直接用 "\" 根目录下面找zhangsan // 因为zhangsan跟lisi命名空间是平行的 没有上一层不需要".."去找 \changsha\zhangsan\test(); //如果命名空间有子空间changsha\zhangsan和changsha\lisi 完全限定名称调用法 $a =new A; $a->demo();//类调用 也是靠近谁调用谁 输出lisi的类 $a = new \zhangsan\A; $a->demo();//就可以调用zhangsan的类 use \zhangsan\A as zhangsan_A; $a = new zhangsan_A(); $a->demo(); //这个缩少代码量 先use \zhangsan\A 一定起别名 因为当前调用的类会有重名报错! //use加载类 如果加载的函数没效果 也不报错 echo PI;//输出lisi 3.1415; echo \zhangsan\PI; //输出zhangsan 3.14 require_once('2.php'); //在李四代码下面包含一个2.php文件 代码如下 namespace wangwu function test(){ echo 'wangwu 函数'; } class A{ public function dome(){ echo 'wangwu A类' } } const PI=3.1415926; test();//这个时候函数调用还是输出 lisi 因为你还在lisi的namespace里面调用 没做指定 \wangwu\test(); //才正常输出wangwu 函数 \test(); //这种写法 如果wangwu也就是2.php文件没有namespace 输出是wangwu函数 // 没有namespace 表示那个子空间在公共空间 "\"就是根目录 指到公共空间 $a = new \A(); $a->demo(); //输出wangwuA类 echo \PI; //输出3.1415926 echo $name; //如果输出变量 只能调用到公共空间的 其他的不可以调用 ```