Магические методы __clone, __get, __set онлайн урок.


В этом уроке рассмотрим магические методы __clone, __get, __set. Напомним, что магические методы будут вызваны неявно при определенных условиях.

Функция __clone() будет автоматически вызвана при клонировании объекта, если она определена в соответствующем классе.

Функция __get($name) будет автоматически вызвана при попытке использования (но не присвоения этому свойству значения) private свойства вне класса или просто неопределенного свойства объекта. При этом функция принимает в качестве аргумента переменную, в которую будет подставлено название свойства.

Функция __set($name, $val) будет автоматически вызвана при попытке присвоения значения private свойству вне класса или просто неопределенному свойству объекта. При этом функция принимает в качестве аргументов переменные, в которые будет подставлено название свойства и его значение.

Рассмотрим примеры определения этих методов:



Проверьте свои знания
В класс User из предыдущих заданий добавить магические методы __get, __set для закрытых свойств, которые будут возвращать / присваивать соответствующие значения.