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

溫馨提示×

溫馨提示×

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

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

php魔術方法有哪些作用

發布時間:2020-10-15 16:03:31 來源:億速云 閱讀:121 作者:小新 欄目:編程語言

php魔術方法有哪些作用?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

在面向對象編程中,PHP提供了一系列的魔術方法,這些魔術方法為編程提供了很多便利。PHP中的魔術方法通常以__(兩個下劃線)開始,并且不需要顯示的調用而是由某種特定的條件出發。這篇文章簡單總結了PHP中提供的魔術方法。

__construct()

__construct()是類的構造函數,是目前為止最經常使用的函數。在創建對象時,可以在構造函數中做一些初始化工作。可以為構造函數定義任意多個參數,只要在實例化時傳入對應個數的參數即可。構造函數中出現的任何異常都會阻止對象的創建。

__desctruct()

__desctruct()是類的析構函數,通常在銷毀對象或腳本執行結束時自動調用,析構函數不接收任何參數。經常在析構函數中執行一些清理工作,比如關閉數據庫連接等。

__call()

__call()在調用不存在或不可訪問的方法時會被調用。它接收兩個參數,一個是調用的方法的名字,一個是包含函數參數的數組。我們可以使用這種方法調用子對象中得同名函數

__callStatic()

__callStatic()當調用的靜態方法不存在或權限不足時會被調用。它接收兩個參數,一個是調用的方法的名字,一個是包含函數參數的數組。其使用跟__call()完全一樣。

__get()

__get()在我們嘗試訪問一個不存在的屬性或者非公有屬性時會被調用。它接收一個參數,該參數表示訪問屬性的名字,并且將該屬性的值返回

__set()

__set()在我們嘗試修改一個不可訪問的屬性時會被調用,它接收兩個參數,一個表示屬性的名字,一個表示屬性的值。

__isset()

__isset()在對一個不可訪問的屬性調用isset()或empty()方法時會被調用,它接收一個參數,表示屬性的名字。它應該返回一個布爾值,用來表示該屬性是否存在。

__unset()

__unset()在調用 unset()函數銷毀一個不能訪問的屬性時會被調用,它接收一個參數,表述屬性的名字。

__sleep()

__sleep()在對一個對象序列化時(調用 serialize())會被調用。它不接收任何參數,而且應該返回一個包含所有應該被序列化的屬性的數組。在該魔術方法中,也可以執行一些其他操作。

有一點要注意的是,不要再該函數中進行任何的析構操作,因為這可能會影響正在運行的對象

__wakeup()

__wakeup()在對存儲的對象反序列化時會被調用。它不接收任何參數,也沒有任何返回值。可以用它來處理在序列化時丟失的數據庫連接或資源

__toString()

__toString()在我們將對象當作字符串一樣使用時會被調用,它不接收任何參數。該方法允許我們定義對象的表現形式。

__invoke()

調用函數的方式調用一個對象時的回應方法

__set_state()

調用var_export()導出類時,此靜態方法會被調用。

__clone()

__clone()可以解決上面的問題。當對一個對象使用 clone 關鍵字時,該魔術方法會被調用。

感謝各位的閱讀!看完上述內容,你們對php魔術方法有哪些作用大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

php
AI

大庆市| 田林县| 醴陵市| 奉节县| 荃湾区| 瓦房店市| 汨罗市| 盐亭县| 青冈县| 库伦旗| 龙里县| 安龙县| 商都县| 涟水县| 米脂县| 台湾省| 进贤县| 略阳县| 双桥区| 辽宁省| 慈溪市| 峡江县| 建德市| 济宁市| 齐齐哈尔市| 靖安县| 綦江县| 岳西县| 东海县| 布拖县| 广宁县| 宜丰县| 河北区| 玛多县| 石林| 新兴县| 永丰县| 太白县| 康保县| 青川县| 武乡县|