查看一些代碼時,我發現了以下結構,特別是數組($ this [$ key])。它是如何工作的?它把價值放在哪裏?我在哪裏可以找到它的記錄?具有數組屬性的PHP魔術方法
public function __get($key)
{
return $this[$key];
}
回答:謝謝馬里奧。它通過將ArrayAccess接口添加到對象並實現offsetGet和offsetSet方法來實現。
查看一些代碼時,我發現了以下結構,特別是數組($ this [$ key])。它是如何工作的?它把價值放在哪裏?我在哪裏可以找到它的記錄?具有數組屬性的PHP魔術方法
public function __get($key)
{
return $this[$key];
}
回答:謝謝馬里奧。它通過將ArrayAccess接口添加到對象並實現offsetGet和offsetSet方法來實現。
這是一個吸氣,沒有什麼比你看到的。您訪問私人對象的屬性。
http://php.net/manual/en/language.oop5.overloading.php#object.get
這是我不理解的數組訪問位。 $ this [$ key] –
$這是您在課堂上使用的私人變量。例如你有一個私有變量$ name;有了這個函數,如果你調用函數__get('name'),你會得到$ this ['name']的值 – yBrodsky
見http://php.net/manual/en/language.oop5.magic.php和http://php.net/manual/en/class.arrayaccess.php – mario
啊哈 - ArrayAccess接口。謝謝馬里奧。 –
沒有上下文很難說。這一個更可能來自'ArrayObject'。通過'ArrayAccess',通常會使用'offsetGet'而不是'__get'。 – mario