php中const與static的區(qū)別:1、const只能修飾類的屬性,static可以修飾屬性和方法;2、const一旦被定義不可更改,static修飾的變量是可以被更改的;3、const不需要變量符號,而static需要。
本文操作環(huán)境:windows10系統(tǒng)、php 7.3、thinkpad t480電腦。
區(qū)別及聯(lián)系分析如下:
1、const是類中的常量,類外用define來定義常量。
2、const只可以修飾類的屬性,不能修飾類的方法。static可以修飾屬性,也可以修飾方法。
3、const和static都屬于類本身,而不屬于new后的類實(shí)例。類內(nèi)訪問使用self::,類外使用類名::來訪問。類內(nèi)的$this指代類實(shí)例本身,const和static屬于類本身,所以無法用$this訪問。
4、self::NAME指代const,self::$name指代static。const是常量,是不需要變量符號的,static修飾的變量,需要變量。
5、const一旦被定義不可更改,static修飾的變量是可以被更改的。
6、static方法中,不能使用類的普通成員和方法。這很好理解,調(diào)用靜態(tài)方法的時候,不能肯定類有沒有被實(shí)例化。類的普通方法中可以使用static屬性和static方法。