[英]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.