#### 1. 什么是魔術方法 ? --- [PHP 魔術方法 官方文檔 傳送門](https://www.php.net/manual/zh/language.oop5.magic.php#object) PHP 的魔術方法是指 PHP 中以兩個下劃線 `_` 開頭的類方法 我們自己在定義類方法時不能使用魔術方法的名稱,除非是想使用其魔術功能 #### 2. PHP 魔術方法 --- | 序號 | 方法名 | 描述 | | ------------ | ------------ | ------------ | | 1 | __construct | 構造方法,類被實例化時執行 | | 2 | __destruct | 析構方法,對象被銷毀時執行 | | 3 | __call | 當對象調用一個不可訪問的方式時執行 | | 4 | __callStatic | 以靜態方式調用一個不可訪問的方式時執行 | | 5 | __get | 讀取不可訪問或不存在的屬性時執行 | | 6 | __set | 給不可訪問或不存在的屬性賦值時執行 | | 7 | __isset | 當對不可訪問或不存在的屬性調用 isset() 或 empty() 時執行 | | 8 | __unset | 當對不可訪問或不存在的屬性調用 unset() 時執行 | | 9 | __sleep | 當對象使用 serialize() 序列化時,會先調用該方法 | | 10 | __wakeup | 當對象使用 unserialize() 反序列化時,會先調用該方法 | | 11 | __serialize() | | | 12 | __unserialize() | | | 13 | __toString() | 當對象轉為字符串類型時執行 | | 14 | __invoke() | 當對象被當作函數調用時執行 | | 15 | __set_state() | | | 16 | __clone() | 當使用 clone 關鍵字 克隆對象完成后執行 | | 17 | __debugInfo() | |