新聞中心
小編給大家分享一下PHP中外部調(diào)用類私有屬性的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
外部調(diào)用類的私有屬性
先來了解一下PHP類中的__get
和__set
函數(shù)
當(dāng)試圖獲取一個不可達屬性時,類會自動調(diào)用__get
函數(shù)。
當(dāng)試圖設(shè)置一個不可達屬性時,類會自動調(diào)用__set
函數(shù)。
首先,來看一下__get
函數(shù),先來獲取一個可達屬性試試:
a; ?>
看一下它的返回:
1
沒有問題,沒有調(diào)用__get
函數(shù),現(xiàn)在我來訪問一個私有的不可達屬性:
b; ?>
會發(fā)現(xiàn):
you can get b
說明這里調(diào)用了__get
函數(shù),我再來看一下__set
函數(shù),同樣也是先使用可達的public
屬性:
a = 1; echo $dy->a; ?>
看一下輸出:
1
使用成功,沒有問題,接著我們來使用私有屬性:
b = 1; echo $dy->b; ?>
這時看到:
you can get b1 PHP Fatal error: Cannot access private property A::$b in /usercode/file.php on line 11
這里調(diào)用了__set
函數(shù)并提示我們不能使用類的私有屬性。
現(xiàn)在來通過__set
函數(shù)實現(xiàn)外部使用私有屬性:
$name=$val; } function B(){ echo $this->b; } } $dy = new A(); $dy->b = 1; $dy->B(); ?>
看一下輸出:
1
說明使用成功。
看完了這篇文章,相信你對PHP中外部調(diào)用類私有屬性的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站名稱:PHP中外部調(diào)用類私有屬性的方法-創(chuàng)新互聯(lián)
本文地址:http://www.ef60e0e.cn/article/esoje.html