以下面的代碼爲例:PHP stdClass的()與__get()魔術方法
class xpto
{
public function __get($key)
{
return $key;
}
}
function xpto()
{
static $instance = null;
if (is_null($instance) === true)
{
$instance = new xpto();
}
return $instance;
}
echo xpto()->haha; // returns "haha"
現在,我嘗試歸檔相同的結果,但沒有必須寫xpto類。我的猜測是我應該寫這樣的事:
function xpto()
{
static $instance = null;
if (is_null($instance) === true)
{
$instance = new stdClass();
}
return $instance;
}
echo xpto()->haha; // doesn't work - obviously
現在,是有可能__get()魔法功能添加到stdClass的對象?我猜不是,但我不確定。
感謝卡西,我認爲可能有一種晦澀的方式來創建某種類的lambda類,但我猜不是。謝謝您的意見。 =) –