PHP中const和static的区别和联系

1.const是类中的常量,类外用define定义常量
2.const只可以修饰类的属性,不能修饰类的方法,static可以修饰属性,也可以修饰方法
3.const和static都属于类本身,而不属于new后的类实例,类内访问使用self::,类外使用类名::来访问;类内的$this指代类实例本身,const和static是属于类本身,所以无法用$this访问
4.self::NAME指代const,self::$name指代static;const是常量,是不需要变量符号的,static修饰变量,需要变量符
5.const一旦被定义不可更改,static修饰的变量可以更改
6.static方法中不能使用类的普通成员和方法,这很好理解,调用静态方法时,不能确定类有没有被实例化。普通方法中可以使用static属性和static方法

原文地址:https://www.cnblogs.com/caohongchang/p/11345638.html