簡體   English   中英

如何保護類屬性不會在PHP中擴展類?

[英]How can I protect a class property from extending classes in PHP?

有可能做這樣的事情:

class foo {
    private $private = 'A';
}

class bar extends foo {
    echo $this->private;
}

bar returns null...

如果子類無法訪問變量$ private,我真的很喜歡它,但我不確定它甚至可能僅基於基於分類的開發的范例。

私有財產不提供我正在尋找的功能。

我知道這不是准確的PHP代碼,但它只是一個例子;)

這就是它已經運作的方式。 查看文檔

可以通過在聲明前加上關鍵字public,protected或private來定義屬性或方法的可見性。 聲明為public的類成員可以隨處訪問。 聲明受保護的成員只能在類本身以及繼承和父類中訪問。 聲明為private的成員只能由定義該成員的類訪問

請在此處查看示例: http//codepad.org/Yz4yjDft

私有財產不提供我正在尋找的功能。

對我來說,這似乎正是你想要的。 如果沒有,請詳細說明。

class foo {
    protected $private = 'A';
}

class bar extends foo {
    function __construct() {
        echo $this->private;
    }
}
 new bar();

// will echo 'A' 

你只需要在一個函數內部進行處理,你就不能在你的課堂內進行回音。

編輯:

protected將允許您僅在后代類中使用該變量。 如果那就是你要找的東西

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM