2016-05-05 94 views
0

查看一些代碼時,我發現了以下結構,特別是數組($ this [$ key])。它是如何工作的?它把價值放在哪裏?我在哪裏可以找到它的記錄?具有數組屬性的PHP魔術方法

public function __get($key) 
{ 
    return $this[$key]; 
} 

回答:謝謝馬里奧。它通過將ArrayAccess接口添加到對象並實現offsetGet和offsetSet方法來實現。

+0

見http://php.net/manual/en/language.oop5.magic.php和http://php.net/manual/en/class.arrayaccess.php – mario

+0

啊哈 - ArrayAccess接口。謝謝馬里奧。 –

+0

沒有上下文很難說。這一個更可能來自'ArrayObject'。通過'ArrayAccess',通常會使用'offsetGet'而不是'__get'。 – mario

回答

2

這是一個吸氣,沒有什麼比你看到的。您訪問私人對象的屬性。

http://php.net/manual/en/language.oop5.overloading.php#object.get

+0

這是我不理解的數組訪問位。 $ this [$ key] –

+0

$這是您在課堂上使用的私人變量。例如你有一個私有變量$ name;有了這個函數,如果你調用函數__get('name'),你會得到$ this ['name']的值 – yBrodsky