PHP物件導向的魔術方法有:__construct()、__destruct()、__call()、__callStatic()、__get()、__set()、__isset()、__unset()、__sleep()等等。
什麼是魔術方法?
魔術方法指的是以__(兩個底線)開始,系統在特定的時機自動呼叫的方法。
PHP目前有15個魔術方法:
1、__construct(),建構物件的時被調用,常用於初始化
2、 __destruct(),明確銷毀物件或腳本結束或銷毀顯示時被呼叫
3、__call(),在物件中呼叫一個無法直接存取的非靜態方法時,__call() 會被自動呼叫。
4、__callStatic(),用靜態方式中呼叫一個不可存取方法時呼叫
5、__get(),當在類別的外部呼叫不能直接存取的屬性時,函數方法被自動調用,必須有返回值,所以最後結束的肯定是return語句
6、__set(),當設定類別中的不能直接存取的屬性時,自動調用該函數方法,不需要傳回值
7、__isset(),判斷類別中的屬性是否被設定了,當對不可存取屬性呼叫isset() 或empty() 時,__isset() 會被呼叫。返回布林值
8、__unset(),當對不可存取或不存在的屬性進行unset時被呼叫
9、__sleep(),執行serialize()時,先會呼叫這個函數 方法常用於提交未提交的資料
10、__wakeup(), 常用在反序列化作業中,例如重新建立資料庫連接,或執行其它初始化操作
#11、__toString (),以字串格式輸出類別的物件時,預設會自動調用,必須有一個return語句,且傳回的值必須是字串
12、__invoke(), 當嘗試以調用函數的方式呼叫一個物件時,__invoke() 方法會被自動呼叫。
13、__set_state(),自 PHP 5.1.0 起當呼叫 var_export() 匯出類別時,此靜態 方法會被呼叫。
14、__clone(),當物件複製完成時呼叫
15、__debugInfo(),列印所需偵錯資訊
相關教學推薦:《PHP教程》
以上是PHP物件導向的魔術方法有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!