Magic Methods
В PHP как и во многих языках есть magic methods: https://www.php.net/manual/en/language.oop5.magic.php
__sleap() & __wakeup()
Метод __sleep()
вызывается до serialize()
. Он может очистить какие поля объекта и возвращает список полей, которые должны быть сериализованы.
И наоборот, unserialize()
проверяет наличие функции с магическим именем __wakeup()
. Если она присутствует, эта функция может восстановить любые ресурсы, которые может иметь объект.
Предполагаемое использование __wakeup()
состоит в том, чтобы восстановить любые соединения с базой данных, которые могли быть потеряны во время сериализации, и выполнить другие задачи повторной инициализации.
Пример:
__serialize() && __unserialize()
Имеют больший приоритет над __sleep()
и __wakeup()
. Будут вызваны только __serialize()
и __unserialize()
.
Пример:
Last updated