新聞中心
php中的private屬性怎么直接訪(fǎng)問(wèn)?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
曲周網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司于2013年開(kāi)始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
在介紹關(guān)鍵部分之前,我們先回顧一下php面向?qū)ο蟮脑L(fǎng)問(wèn)控制。
對(duì)屬性或方法的訪(fǎng)問(wèn)控制,是通過(guò)在前面添加關(guān)鍵字 public(公有),protected(受保護(hù))或 private(私有)來(lái)實(shí)現(xiàn)的。被定義為公有的類(lèi)成員可以在任何地方被訪(fǎng)問(wèn)。被定義為受保護(hù)的類(lèi)成員則可以被其自身以及其子類(lèi)和父類(lèi)訪(fǎng)問(wèn)。被定義為私有的類(lèi)成員則只能被其定義所在的類(lèi)訪(fǎng)問(wèn)。
類(lèi)屬性必須定義為公有,受保護(hù),私有之一。如果用 var 定義,則被視為公有。
請(qǐng)看下面示例代碼(來(lái)自官方文檔 http://php.net/manual/en/lang...:
public; echo $this->protected; echo $this->private; } } $obj = new MyClass(); echo $obj->public; // Works echo $obj->protected; // Fatal Error echo $obj->private; // Fatal Error $obj->printHello(); // Shows Public, Protected and Private
如上面代碼所示,我們用一個(gè)類(lèi)的實(shí)例對(duì)象訪(fǎng)問(wèn)一個(gè)類(lèi)的私有或者受保護(hù)的成員屬性時(shí),會(huì)拋出一個(gè)致命錯(cuò)誤。
下面是文章標(biāo)題要做的事情,訪(fǎng)問(wèn)php實(shí)例對(duì)象的私有屬性。
按照我們正常的做法,一般都會(huì)是寫(xiě)一個(gè)public的方法,再返回這個(gè)屬性。
public function getPrivate() { return $this->private; }
事實(shí)是我們本就應(yīng)該這樣做。
下面說(shuō)是只是特殊場(chǎng)景下的使用方法,平時(shí)寫(xiě)代碼希望大家不要亂來(lái)。
a = 'other'; var_dump($other->a); } } $aa = new A(); $aa->test();
如上代碼所示,我們new了一個(gè)新的A對(duì)象出來(lái),再給這個(gè)實(shí)例的私有屬性a賦值,竟然沒(méi)有報(bào)錯(cuò)!
解釋?zhuān)阂驗(yàn)橥粋€(gè)類(lèi)的對(duì)象即使不是同一個(gè)實(shí)例也可以互相訪(fǎng)問(wèn)對(duì)方的私有與受保護(hù)成員。這是由于在這些對(duì)象的內(nèi)部具體實(shí)現(xiàn)的細(xì)節(jié)都是已知的。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。
本文題目:php中的private屬性怎么直接訪(fǎng)問(wèn)
網(wǎng)頁(yè)地址:http://www.ef60e0e.cn/article/ghjesc.html