国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 武川县| 渭南市| 阳高县| 奉贤区| 梨树县| 清镇市| 桐柏县| 尤溪县| 北辰区| 绥化市| 曲水县| 称多县| 库车县| 临潭县| 瓮安县| 清镇市| 抚顺县| 兴和县| 共和县| 长沙县| 综艺| 余庆县| 清水河县| 河南省| 兰州市| 额济纳旗| 库车县| 崇信县| 石林| 嘉定区| 寿宁县| 阳朔县| 宁国市| 神农架林区| 芦溪县| 壶关县| 全南县| 定结县| 朝阳县| 英山县| 宾川县|