最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何直接訪問php實(shí)例對象中的private屬性詳解

 更新時間:2017年10月12日 11:41:31   作者:hncg  
這篇文章主要給大家介紹了關(guān)于如何直接訪問php實(shí)例對象中private屬性的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

本文主要介紹了關(guān)于如何直接訪問php實(shí)例對象中private屬性的相關(guān)內(nèi)容,在介紹關(guān)鍵部分之前,我們先回顧一下php面向?qū)ο蟮脑L問控制。

對屬性或方法的訪問控制,是通過在前面添加關(guān)鍵字 public(公有),protected(受保護(hù))或 private(私有)來實(shí)現(xiàn)的。被定義為公有的類成員可以在任何地方被訪問。被定義為受保護(hù)的類成員則可以被其自身以及其子類和父類訪問。被定義為私有的類成員則只能被其定義所在的類訪問。

類屬性必須定義為公有,受保護(hù),私有之一。如果用 var 定義,則被視為公有。

請看下面示例代碼(來自官方文檔:http://php.net/manual/en/language.oop5.visibility.php

<?php
/**
 * Define MyClass
 */
class MyClass
{
 public $public = 'Public';
 protected $protected = 'Protected';
 private $private = 'Private';

 function printHello()
 {
  echo $this->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

如上面代碼所示,我們用一個類的實(shí)例對象訪問一個類的私有或者受保護(hù)的成員屬性時,會拋出一個致命錯誤。

下面是文章標(biāo)題要做的事情,訪問php實(shí)例對象的私有屬性。

按照我們正常的做法,一般都會是寫一個public的方法,再返回這個屬性。

public function getPrivate()
{
 return $this->private;
}

事實(shí)是我們本就應(yīng)該這樣做。

下面說是只是特殊場景下的使用方法,平時寫代碼希望大家不要亂來。

<?php
class A {
 private $a = 'self';
 public function test() {
  $other = new self();
  $other->a = 'other';
  var_dump($other->a);
 }
}

$aa = new A();
$aa->test();

如上代碼所示,我們new了一個新的A對象出來,再給這個實(shí)例的私有屬性a賦值,竟然沒有報錯!

解釋:因為同一個類的對象即使不是同一個實(shí)例也可以互相訪問對方的私有與受保護(hù)成員。這是由于在這些對象的內(nèi)部具體實(shí)現(xiàn)的細(xì)節(jié)都是已知的。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • php抓取網(wǎng)站圖片并保存的實(shí)現(xiàn)方法

    php抓取網(wǎng)站圖片并保存的實(shí)現(xiàn)方法

    這篇文章主要介紹了php抓取網(wǎng)站圖片并保存的實(shí)現(xiàn)方法,重點(diǎn)借鑒了匹配img標(biāo)簽和其src屬性正則的寫法,封裝了一個php遠(yuǎn)程抓取圖片的類,感興趣的小伙伴們可以參考一下
    2015-10-10
  • 使用Zttp簡化Guzzle 調(diào)用

    使用Zttp簡化Guzzle 調(diào)用

    在 PHP 的項目中,如果你需要通過代碼來發(fā)起 HTTP 請求,相信很多人對 GuzzleHttp 這個 Package 很熟悉,然而其實(shí)在使用 Guzzle 的時候,我們依然可以做得更簡便一點(diǎn)的,下面我們就來看下今天的主角--Zhttp
    2017-07-07
  • php中的觀察者模式簡單實(shí)例

    php中的觀察者模式簡單實(shí)例

    這篇文章主要介紹了php中的觀察者模式簡單實(shí)例,觀察者模式是設(shè)計模式中比較常見的一個模式,包含兩個或者更多的互相交互的類,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-01-01
  • 深入Apache與Nginx的優(yōu)缺點(diǎn)比較詳解

    深入Apache與Nginx的優(yōu)缺點(diǎn)比較詳解

    本篇文章是對Apache與Nginx的優(yōu)點(diǎn)與缺點(diǎn)進(jìn)行了詳細(xì)的分析比較,需要的朋友參考下
    2013-06-06
  • php 計劃任務(wù) 檢測用戶連接狀態(tài)

    php 計劃任務(wù) 檢測用戶連接狀態(tài)

    php 計劃任務(wù) 檢測用戶連接狀態(tài)實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2012-03-03
  • 10個超級有用值得收藏的PHP代碼片段

    10個超級有用值得收藏的PHP代碼片段

    這篇文章主要介紹了10個超級有用值得收藏的PHP代碼片段,本文講解了黑名單過濾、隨機(jī)顏色生成器、從網(wǎng)絡(luò)下載文件、強(qiáng)制下載文件、通過Email顯示用戶的Gravatar頭像等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • 淺談php提交form表單

    淺談php提交form表單

    這篇文章主要介紹了淺談php提交form表單的2種方法和簡單的示例,十分的實(shí)用,有需要的小伙伴可以參考下。
    2015-07-07
  • php empty() 檢查一個變量是否為空

    php empty() 檢查一個變量是否為空

    empty() 只檢測變量,檢測任何非變量的東西都將導(dǎo)致解析錯誤。換句話說,后邊的語句將不會起作用: empty(addslashes($name))
    2011-11-11
  • PHP7.1新功能之Nullable Type用法分析

    PHP7.1新功能之Nullable Type用法分析

    這篇文章主要介紹了PHP7.1新功能之Nullable Type用法,結(jié)合實(shí)例形式較為詳細(xì)的對比分析了Nullable Type類型操作的使用技巧,需要的朋友可以參考下
    2016-09-09
  • 防止本地用戶用fsockopen DDOS攻擊對策

    防止本地用戶用fsockopen DDOS攻擊對策

    php腳本中的 fsockopen 函數(shù),對外部地址,通過UDP發(fā)送大量的數(shù)據(jù)包,攻擊對方
    2011-11-11

最新評論

保靖县| 蛟河市| 阜新| 阳山县| 库伦旗| 仙桃市| 宣威市| 新邵县| 玉林市| 三原县| 收藏| 交城县| 砀山县| 襄城县| 潮安县| 郸城县| 吉首市| 文昌市| 嵊州市| 烟台市| 吉水县| 汕尾市| 米易县| 腾冲县| 大竹县| 保山市| 徐州市| 平顺县| 中超| 曲麻莱县| 正蓝旗| 收藏| 西充县| 获嘉县| 常宁市| 宁阳县| 准格尔旗| 渝中区| 阜城县| 兴国县| 温泉县|