首先是我对命名空间的理解,命名空间相当于一个空间,拿班级做比方,不同的班级就是不同的空间,每个班级都有叫小明的同学,但是不会因为有两个小明而产生矛盾。这就是命名空间的作用
同一个请求里面,相同函数,类名,常亮不能出现多次
function chat(){
}
function chat(){
echo"nihao";
}
chat();
namespace demo1
function chat(){
echo"niha0";
}
namespace demo2
funtion chat(){
echo"nihao";
}
chat();
命名空间对类名,常亮,函数起作用,并成为元素
常量的定义
define('名称',值); 在类的外部声明常亮,与命名空间没有关系 同一个名称只能声明一次
const 名称=值在类的内部声明 类常量 在类的外部声明正常常亮。 受命名空间的影响,相同的常量名可以分配到不同的空间里
const和define的区别
const受命名空间的影响,后者不受影响,const可以声明多次,后者只能一次
例子 在类的内部const常亮
class demo{
const changliang="nihao";}
echo demo::changliang;
访问元素
当没有指定空间的时候,会默认执行语句最近的上面的命名空间的元素
如果需要指定元素的话
\空间\元素
echo \demo\changliang;
\demo\getinfo();