__construct() — викликається при new ClassName()__destruct() — при знищенні об'єкта__get($name) / __set($name, $value) — доступ до неіснуючих або захищених властивостей__call($name, $args) — виклик неіснуючого методу__toString() — конвертація об'єкта в рядок__invoke() — виклик об'єкта як функції: $obj()__clone() — після клонування об'єкта__serialize() / __unserialize() — контроль серіалізаціїМагічні методи повільніші за звичайні. __get/__set ускладнюють статичний аналіз — IDE не «бачить» властивостей. Використовуйте там, де справді потрібна динаміка.