亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

呈贡县| 柞水县| 崇礼县| 五家渠市| 绥芬河市| 龙胜| 岳西县| 阳曲县| 武平县| 若尔盖县| 五河县| 称多县| 凌海市| 茶陵县| 兴海县| 静海县| 阿拉善左旗| 酒泉市| 萨迦县| 和硕县| 剑河县| 石阡县| 陵水| 凤山县| 南雄市| 诸暨市| 桦川县| 扎鲁特旗| 墨江| 康定县| 五大连池市| 辽源市| 乡城县| 招远市| 台北市| 方城县| 陵水| 凤台县| 沈丘县| 且末县| 双城市|