0
在我看來,即使在最嚴格的錯誤報告中,PHP類成員也不比變量嚴格。 例如PHP:未初始化的類成員/屬性上的錯誤
class A
{
public function __construct()
{
$this->test = 0;
}
}
$a = new A();
在任何情況下都不會給出錯誤。我想手動定義$ test(作爲public/protected/private)。當然,我可以定義__get($ field)和__set($ field),但我正在尋找全球解決方案。
這不是一個錯誤,它是一個功能。請仔細閱讀[this](http://www.ibm.com/developerworks/library/os-php-flexobj/)。 –
您可以模擬具有__get和__set方法的活動記錄模式,並對內部數組進行操作,這就是您鏈接的文章中發生的情況。我想我的建議是,由於缺乏獲取和設置魔術方法,它會按照錯誤而不是自動初始化(如調用)。我的建議和該文章之間沒有矛盾,儘管它可能會破壞很多代碼。 – apartridge