簡體   English   中英

通過靜態和非靜態方法訪問靜態屬性?

[英]Access static property through static and non-static methods?

我有一個類,它有一些靜態的,一些不是靜態的方法。 它具有靜態屬性。 我正在嘗試在所有方法中訪問該屬性,但找不到正確的語法。

我所擁有的是:

class myClass {
    static public $mode = 'write';
    static public function getMode() {
        return myClass::$mode; 
    }
    public function getThisMode() {
        return $this->mode;
    }
}

誰能告訴我這一個實際的語法?

對於靜態屬性,即使在非靜態函數中也使用以下內容

return self::$mode;

這樣做的原因是因為靜態屬性存在的對象是否已經被實例化與否。 因此,我們只是使用相同的預先存在的屬性。

如果您不在課堂上,請確保不要忘記$否則也會看到此錯誤。 例如,請確保這樣稱呼它:

$myClass = new myClass();

echo $myClass::$mode;

不是這樣的:

echo $myClass::mode;

暫無
暫無

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

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