摘要:被定義為公有的類成員可以在任何地方被訪問。請看下面示例代碼來自官方文檔如上面代碼所示我們用一個類的實例對象訪問一個類的私有或者受保護的成員屬性時,會拋出一個致命錯誤。下面是文章標題要做的事情,訪問實例對象的私有屬性。
在介紹關鍵部分之前,我們先回顧一下php面向對象的訪問控制。
對屬性或方法的訪問控制,是通過在前面添加關鍵字 public(公有),protected(受保護)或 private(私有)來實現的。被定義為公有的類成員可以在任何地方被訪問。被定義為受保護的類成員則可以被其自身以及其子類和父類訪問。被定義為私有的類成員則只能被其定義所在的類訪問。
類屬性必須定義為公有,受保護,私有之一。如果用 var 定義,則被視為公有。
請看下面示例代碼(來自官方文檔 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
如上面代碼所示,我們用一個類的實例對象訪問一個類的私有或者受保護的成員屬性時,會拋出一個致命錯誤。
下面是文章標題要做的事情,訪問php實例對象的私有屬性。
按照我們正常的做法,一般都會是寫一個public的方法,再返回這個屬性。
public function getPrivate() { return $this->private; }
事實是我們本就應該這樣做。
下面說是只是特殊場景下的使用方法,平時寫代碼希望大家不要亂來。
a = "other"; var_dump($other->a); } } $aa = new A(); $aa->test();
如上代碼所示,我們new了一個新的A對象出來,再給這個實例的私有屬性a賦值,竟然沒有報錯!
解釋:因為同一個類的對象即使不是同一個實例也可以互相訪問對方的私有與受保護成員。這是由于在這些對象的內部具體實現的細節都是已知的。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25957.html
摘要:輕量應用服務器是阿里云面向入門級云計算及簡單應用用戶,提供基于單臺云服務器的域名管理應用部署安全和運維管理的一站式綜合服務。輕量應用服務器,是可快速搭建且易于管理的輕量級云服務器。上傳至云服務器,用或者都可以。總結一下使用wordpress搭建個人博客的三大步驟: 1.購買阿里云服務器 2.選擇安裝wordpress鏡像操作系統 3.安裝配置wordpress 4.購買域名,配置域名...
摘要:面試專欄正式起更,每周一三五更新,提供最好最優質的面試內容。繼上一篇面試??純热葜嫦驅ο蟀l表后,今天更新面向對象的最后一篇。面向對象的主要特征為封裝繼承多態。為了提高內聚性減少引起變化,單一原則是低耦合高內聚的面向原則上的引申。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優質的PHP面試內容。繼上一篇PHP面試??純热葜嫦驅ο螅?)發表后,今天更新面向對象的最后一篇(3...
摘要:使用指令代替查詢每一個指令都可以在它的構造器中注入引用。讓我們聲明這樣一個指令我已經在構造器中添加了檢查代碼來保證視圖容器在指令實例化的時候是可用的。 原文:https://blog.angularindepth.c...作者:Max Koretskyi譯者:而井 【翻譯】教你如何在@ViewChild查詢之前獲取ViewContainerRef showImg(https://se...
摘要:字節碼是程序的中間表示形式介于人類可讀的源碼和機器碼之間。在中一般是用編譯源文件變成字節碼,也就是我們的文件。字節碼的執行操作,指的就是對當前棧幀數據結構進行的操作。 0.寫在前面 為什么會寫這篇文章呢?主要是之前調研過日志脫敏相關的一些,具體可以參考LOG4j脫敏插件如何編寫里面描述了日志脫敏插件編寫方法: 直接在toString中修改代碼,這種方法很麻煩,效率低,需要修改每一個要...
閱讀 3154·2021-11-22 12:01
閱讀 3774·2021-08-30 09:46
閱讀 789·2019-08-30 13:48
閱讀 3218·2019-08-29 16:43
閱讀 1666·2019-08-29 16:33
閱讀 1855·2019-08-29 13:44
閱讀 1418·2019-08-26 13:45
閱讀 2235·2019-08-26 11:44