Junior
95
questionbank

Что такое магические методы в PHP?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Магические методы в PHP — это специальные методы, которые вызываются автоматически при определенных обстоятельствах. Их имена начинаются с двух знаков подчеркивания (__).

Список основных магических методов:

  • __construct(): Вызывается при создании нового объекта.
  • __destruct(): Вызывается при уничтожении объекта.
  • __call($name, $arguments): Вызывается при попытке вызвать недоступный или несуществующий метод объекта.
  • __callStatic($name, $arguments): Вызывается при попытке вызвать недоступный или несуществующий статический метод.
  • __get($name): Вызывается при попытке получить значение недоступного свойства объекта.
  • __set($name, $value): Вызывается при попытке установить значение недоступного свойства объекта.
  • __isset($name): Вызывается при использовании isset() или empty() на недоступном свойстве.
  • __unset($name): Вызывается при использовании unset() на недоступном свойстве.
  • __sleep(): Вызывается перед сериализацией, возвращает массив имен свойств для сериализации.
  • __wakeup(): Вызывается после десериализации.
  • __toString(): Позволяет объекту вести себя как строка при использовании в строковом контексте.
  • __invoke($args): Вызывается, когда скрипт пытается вызвать объект как функцию.
  • __set_state(array $properties): Вызывается при экспорте объекта функцией var_export().
  • __clone(): Вызывается после завершения клонирования объекта для настройки клона.
  • __serialize(): Вызывается сериализацией, возвращает массив данных для сериализации.
  • __unserialize(array $data): Вызывается десериализацией, получает данные из __serialize().

Пример использования __construct и __destruct:

php

Пример использования __get и __set:

php