Остальные магические методы онлайн урок.


В этом уроке рассмотрим остальные магические методы: __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __debugInfo()

Методы __isset($name), __unset($name) будут автоматически вызваны при попытке применить функции issetили unset(соответственно) к privateили неопределенным свойствам объекта.

Метод __sleep()будет автоматически вызван перед сериализацией объекта. Этот метод должен вернуть массив из названий public свойств объекта, которые будут сериализованы.

Метод __wakeup() будет автоматически вызван перед восстановлением объекта после сериализации.

Метод __toString() будет вызван автоматически при попытке привести объект к строке.

Метод __invoke() будет вызван при попытке использовать объект как функцию- т.е. выполнить вызов.

Метод __set_state($arr) будет вызван при попытке применить к объекту функцию var_export(). В параметр этого метода необходимо записать массив, в который можно подставить необходимые значения. Функция var_export() - это аналог var_dump(), но она возвращает полноценный PHP код, который можно исполнить.

Метод __debugInfo()будет вызван при попытке применить к объекту функцию var_dump().