中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

光山县| 电白县| 克什克腾旗| 西盟| 历史| 泸西县| 金塔县| 衡东县| 沈阳市| 鹤峰县| 土默特左旗| 五指山市| 高唐县| 伊春市| 咸宁市| 呈贡县| 阿合奇县| 长丰县| 泰和县| 芦山县| 凤翔县| 新平| 高雄县| 乌苏市| 兰州市| 山东省| 平潭县| 信丰县| 延吉市| 繁昌县| 宜川县| 新邵县| 迁西县| 佛山市| 平定县| 富蕴县| 庐江县| 绵阳市| 宣城市| 宁远县| 鸡泽县|