首頁  >  文章  >  後端開發  >  PHP物件導向的魔術方法有哪些?

PHP物件導向的魔術方法有哪些?

青灯夜游
青灯夜游原創
2020-07-28 16:39:332426瀏覽

PHP物件導向的魔術方法有:__construct()、__destruct()、__call()、__callStatic()、__get()、__set()、__isset()、__unset()、__sleep()等等。

PHP物件導向的魔術方法有哪些?

什麼是魔術方法?

魔術方法指的是以__(兩個底線)開始,系統在特定的時機自動呼叫的方法。

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn