簡體   English   中英

空php類中的變量訪問

[英]Access of variable in a null php class

假設我有這樣的課程:

class MyClass {
    public $variable;

    public function __construct($variable) {
        $this->variable = $variable;
    }
}

而且我這樣稱呼它(無需初始化它,或者就php而言,它甚至不是一個類):

$my_class = null;
$v = $my_class->variable;

這是PHP允許的嗎? 在大多數其他語言中,它將給出一個大的胖空指針異常。 如果可行,變量的值是多少?

它是“允許的”-您將得到一個Notice: Trying to get property of non-object結果將為NULL。

無論如何,我看不出這樣做的意義。

那沒有道理...

如果聲明變量$ my_class並將其設置為NULL,則賦予該變量的每個屬性均為null。

當然,對於php,您沒有做錯任何事情。 您只是在聲明變量為空。

如果將$ my_class聲明為類MyClass的對象,則將有所不同,因為即使該屬性為null,也必須提供一個屬性。

class MyClass 
{
    public static $variable;

    public function __construct($variable) 
    {
        $this->variable = $variable;
    }
}

\MyClass::$variable = null;

echo \MyClass::$variable;

暫無
暫無

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

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