PHP中把兩個底線開頭的方法稱為魔術方法,這些方法在PHP中充當了舉足輕重的作用,魔術方法特別常見,特別是在封裝的方法中,魔術方法也為實作封裝類別帶來了很方便的用法
常見的魔術方法:
construct() 實例化物件是被自動呼叫。當construct和以類別名為函數名的函數 同時存在時調 用construct,另一個不背呼叫。類別名為函數名的函數為老版的建構函數。
destruct() 當刪除一個物件或一個物件操作結束是被呼叫。
call() 物件呼叫某個方法。若方法不存在,這呼叫call 這個方法
get() 讀取一個物件屬性,如果物件屬性是私有的會呼叫它
set() 給一個物件屬性賦值時如果屬性是私有的會呼叫它
toString() 列印一個物件的時候會被呼叫。
clone() 複製物件時會被調用,如:$a=new test(); $a1=clone $a;
sleep() Serialize 之前被調用,若物件比較大,想刪減一點東西在序列化可以用它。
wakeup() Unserialize時被調用,做些物件的初始化工作。
isset() 偵測一個物件的屬性是否存在如果 偵測的屬性是私有的時候會被呼叫。
unset() 刪除一個物件屬性時如果刪除的物件屬性是私有的會被呼叫
set_state() 呼叫var_export時,被調用。用set_state的回傳值做為var_export的回傳值。
autoload() 實例化一個物件時,如果對應的類別不存在,則該方法被掉用。
掌握了以上的魔術方法,對於封裝一個類別來說,就沒什麼難度了。
相關推薦:
#以上是php多種魔術方法解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!