91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中類魔術方法是什么

發布時間:2020-08-21 14:04:00 來源:億速云 閱讀:145 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關php中類魔術方法是什么的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

php中的類魔術方法有:1、__sleep,返回一個包含對象中所有應被序列化的變量名稱的數組;2、__tostring,返回一個類被當作字符串時要輸出的內容;3、__construct,構造方法;4、__destruct,析構方法。

php中類魔術方法是什么

在PHP中將所有以雙下劃線(__)開頭的類方法保留為魔術方法。

下面我們來看看都有哪些魔術方法:

1、__sleep:返回一個包含對象中所有應被序列化的變量名稱的數組。

serialize函數在序列化類時首先會檢查類中是否存在__sleep方法。如果存在,會先調用此方法然后再執行序列化操作,并且只對__sleep返回的數組中的屬性進行序列化。如果__sleep不返回任何內容,則null會被序列化,并產生E_NOTICE級別的錯誤。

__sleep不能返回父類的私有成員,否則會產生E_NOTICE級別的錯誤。對于一些很大但不需要保存全部數據的對象此方法很有用。

2、__wakeup:與__sleep相反,是在unserialize函數反序列化時首先會檢查類中是否存在__wakeup方法,如果存在會先調用次方法然后再執行反序列化操作。用于在反序列化之前準備一些對象需要的資源,或其他初始化操作。

3、__tostring:返回一個類被當做字符串時要輸出的內容,此方法必須返回字符串并且不能在此方法中拋出異常,否則會產生致命錯誤。

在PHP5.2之前此方法只有在直接使用echo和print時才生效,之后則可以在任何字符串環境生效,如果將一個未定義__toString方法的對象轉換為字符串,會產生致命錯誤。

(視頻教程推薦:php視頻教程)

4、__invoke:PHP5.3起,當嘗試以函數的方式調用對象時,會調用此方法。

5、__set_state:PHP5.1起,當調用var_export函數導出類時,會調用此靜態方法。此方法只有一個參數,是一個包含按屬性為鍵,屬性值為值的數組。此方法可以用來控制哪些成員可以被導出。

6、__debugInfo:PHP5.6起,當調用var_dump函數打印對象的屬性時會調用此方法,此方法可以用來控制哪些屬性可以被打印,如果沒有定義此方法,則對象中所有的public、protected、private的屬性都會被打印。返回一個包含可以被打印的屬性的數組。

7、__construct:構造函數。

8、__destruct:析構函數。

9、__set、__get、__isset、__unset:重載屬性。

10、__call、__callstatic:重載方法。

11、__clone:對象復制。

感謝各位的閱讀!關于php中類魔術方法是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

时尚| 莆田市| 南京市| 扎兰屯市| 瑞安市| 三江| 陕西省| 浦江县| 昭觉县| 高密市| 海南省| 大冶市| 宝清县| 永寿县| 长宁区| 泽库县| 靖安县| 玉树县| 潜山县| 长武县| 酉阳| 吉林省| 布尔津县| 获嘉县| 墨玉县| 东城区| 贺兰县| 民勤县| 青神县| 柯坪县| 南部县| 营山县| 隆回县| 吉林市| 通辽市| 巴楚县| 八宿县| 樟树市| 金湖县| 普兰县| 宝应县|