Назад к вопросам
Junior — Middle
85
Можешь привести примеры магических методов, используемых в классах?
Ответ от нейросети
sobes.tech AI
В PHP магические методы — это специальные методы, которые начинаются с двойного подчеркивания __ и вызываются автоматически в определённых ситуациях. Вот несколько примеров:
__construct()— вызывается при создании объекта (конструктор).__destruct()— вызывается при уничтожении объекта.__get($name)— вызывается при попытке доступа к несуществующему или недоступному свойству.__set($name, $value)— вызывается при присвоении значения несуществующему или недоступному свойству.__call($name, $arguments)— вызывается при вызове несуществующего или недоступного метода.__toString()— вызывается при попытке преобразовать объект в строку.
Пример использования:
class User {
private $data = [];
public function __set($name, $value) {
$this->data[$name] = $value;
}
public function __get($name) {
return $this->data[$name] ?? null;
}
public function __toString() {
return "User: " . ($this->data['name'] ?? 'unknown');
}
}
$user = new User();
$user->name = "Иван";
echo $user; // Выведет: User: Иван