PHP中的newself和newstatic有什么區(qū)別-創(chuàng)新互聯(lián)

這篇文章給大家分享的是PHP中的new self和new static的區(qū)別。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。

萬源網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,萬源網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為萬源1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的萬源做網(wǎng)站的公司定做!

new static() 是在php5.3版本引入的新特性

new static 和 new self() 都是 new 一個(gè)對(duì)象

直接看代碼

class Father
{
    public function getNewFather()
    {
        return new self();
    }
  
    public function getNewCaller()
    {
        return new static();
    }
}
  
$f = new Father();
  
var_dump(get_class($f->getNewFather())); // Father
var_dump(get_class($f->getNewCaller())); // Father

getNewFather和getNewCaller 都是返回的 Father 這個(gè)實(shí)列

到這里貌似 new self() 還是 new static() 是沒有區(qū)別的

接著看下面的示例

class Sun1 extends Father{
  
}
  
$sun1 = new Sun1();
  
var_dump($sun1->getNewFather()); // object(Father)#4 (0) { }
var_dump($sun1->getNewCaller()); // object(Sun1)#4 (0) { }

getNewFather 返回的是Father的實(shí)列,

getNewCaller 返回的是調(diào)用者的實(shí)列

他們的區(qū)別只有在繼承中才能體現(xiàn)出來、如果沒有任何繼承、那么二者沒有任何區(qū)別

new self() 返回的實(shí)列是不會(huì)變的,無論誰去調(diào)用,都返回的一個(gè)類的實(shí)列,

new static則是由調(diào)用者決定的。

看完上述內(nèi)容,你們對(duì)PHP中的new self和new static的區(qū)別大概了解了嗎?如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站欄目:PHP中的newself和newstatic有什么區(qū)別-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://bm7419.com/article34/dssope.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、響應(yīng)式網(wǎng)站、網(wǎng)站營銷、網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化