2016-05-05 4 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

Aha - ArrayAccess , Спасибо, Марио. –

+0

Трудно сказать без контекста. Вероятнее всего, этот результат получен из 'ArrayObject'. С помощью 'ArrayAccess' вы обычно используете' offsetGet' вместо '__get'. – mario

ответ

2

Это геттер, там не так много, как то, что вы видите. Вы получаете доступ к свойствам частного объекта.

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

+0

Это бит доступа к массиву, который я не понимаю. $ this [$ key] –

+0

$ Это приватная переменная, которую вы имеете в классе. Например, у вас есть переменная $ name; С помощью этой функции вы получаете значение $ this ['name'], если вы вызываете функцию __get ('name') – yBrodsky

Смежные вопросы