PHP魔術方法彙總?

魔術方法是PHP面向物件中特有的特性。它們在特定的情況下被觸發,都是以雙下劃線開頭,你可以把它們理解為鉤子,利用模式方法可以輕鬆實現PHP面向物件中過載(Overloading即動態建立類屬性和方法)。魔術方法很多還是成對出現的,以下列出目前PHP中所有的模式方法。

方法/步驟

1.__construct,__destruct__constuct構建物件的時被呼叫;__destruct明確銷燬物件或指令碼結束時被呼叫;

2.__get,__set__set當給不可訪問或不存在屬性賦值時被呼叫__get讀取不可訪問或不存在屬性時被呼叫

3.__isset,__unset__isset對不可訪問或不存在的屬性呼叫isset()或empty()時被呼叫__unset對不可訪問或不存在的屬性進行unset時被呼叫

4.__call,__callStatic__call呼叫不可訪問或不存在的方法時被呼叫__callStatic呼叫不可訪問或不存在的靜態方法時被呼叫

5.__sleep,__wakeup__sleep當使用serialize時被呼叫,當你不需要儲存大物件的所有資料時很有用__wakeup當使用unserialize時被呼叫,可用於做些物件的初始化操作

6.__clone進行物件clone時被呼叫,用來調整物件的克隆行為

7.__toString當一個類被轉換成字串時被呼叫

8.__invoke當以函式方式呼叫物件時被呼叫

9.__set_state當呼叫var_export()匯出類時,此靜態方法被呼叫。用__set_state的返回值做為var_export的返回值。

10.__debuginfo當呼叫var_dump()列印物件時被呼叫(當你不想列印所有屬性)適用於PHP5.6版本

No related posts.

模式, 魔術, 屬性, 面向物件,
相關問題答案