国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

PHP面向?qū)ο笾笃陟o態(tài)綁定功能介紹

2024-05-04 23:35:23
字體:
供稿:網(wǎng)友
這篇文章主要介紹了PHP面向?qū)ο笾笃陟o態(tài)綁定功能介紹,本文將對PHP后期靜態(tài)綁定功能進(jìn)行介紹,它主要用于解決在繼承范圍內(nèi)引用靜態(tài)調(diào)用的類,需要的朋友可以參考下
 

本文將對PHP后期靜態(tài)綁定功能進(jìn)行介紹,它主要用于解決在繼承范圍內(nèi)引用靜態(tài)調(diào)用的類

首先來看下面這個例子:

 

復(fù)制代碼代碼如下:

class Person
{
 
    public static function status()
    {
        self::getStatus();
    }
 
    protected static function getStatus()
    {
        echo "Person is alive";
    }
 
}
 
class Deceased extends Person
{
 
    protected static function getStatus()
    {
        echo "Person is deceased";
    }
 
}
 
Deceased::status(); //Person is alive

 

很明顯,結(jié)果不是我們預(yù)期的,這是因?yàn)閟elf::取決于定義時所在的類,而不是運(yùn)行中的類。為了解決這個問題,你可能會在繼承類中重寫status()方法,更好的解決方案是PHP 5.3后添加了后期靜態(tài)綁定的功能。

 

復(fù)制代碼代碼如下:

class Person
{
 
    public static function status()
    {
        static::getStatus();
    }
 
    protected static function getStatus()
    {
        echo "Person is alive";
    }
 
}
 
class Deceased extends Person
{
 
    protected static function getStatus()
    {
        echo "Person is deceased";
    }
 
}
 
Deceased::status(); //Person is deceased

 

可見,static::不在指向當(dāng)前所在的類,實(shí)際上,它是在運(yùn)行中計(jì)算的,強(qiáng)制獲取最終類的所有屬性。

因此,建議,以后不要再使用self::,使用static::


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 星子县| 博客| 寻甸| 兰考县| 赣榆县| 沅陵县| 神农架林区| 本溪| 册亨县| 兰州市| 北碚区| 松原市| 礼泉县| 达日县| 贡觉县| 武宁县| 韶关市| 松江区| 富裕县| 河间市| 临潭县| 札达县| 犍为县| 镇巴县| 鄂伦春自治旗| 乃东县| 荃湾区| 吉林省| 五常市| 琼海市| 上栗县| 婺源县| 临沂市| 太湖县| 宜春市| 张北县| 临洮县| 辽中县| 胶南市| 中牟县| 定州市|