摘要:眾多魔術方法中唯一一個不在類中使用的方法,該方法可以自動加載包含文件這樣執行文件就可以自動包含以上三個文件了。打印調試信息,該方法只在以上版本可用還有很多的魔術方法筆者還沒介紹,讀者如果感興趣,可自行查閱手冊進行學習在線手冊
自從php進入5.0版本以來,php以完全支持面向對象編程,使其開發效率愈加高效。同時其也引入了新的概念->魔術方法,以__開頭的預定義方法,幫助我們更加高效進行程序地開發.
1.__construct()
構造方法,對象實例化時,讓函數初始化。
2.__destruct()
析構函數,對象釋放之前最后調用地函數,釋放掉保存在對內存中的數據。
3.__set()
當對象中的成員為私有屬性時,通過該方法可以直接設置成員屬性的值
4.__get()
當對象的成員為私有屬性時,通過該方法可以讀取成員屬性的值
5.__isset()
查看對象中私有屬性是否存在
6.__unset()
直接刪除對象中的私有屬性
7.__call()
當對象調用類中不存在的方法時,可以通過類中的__call()方法來進行錯誤處理,防止程序報錯終止
8.__toString()
當對對象進行輸出時,調用該方法。比如echo $obj;否則,發生致命錯誤
9.__clone()
當我們克隆一個對象時,可以通過__clone()方法中的$this關鍵字對被克隆出來的對象進行初始化,而$that關鍵字可以對原對象進行操作。
10.__autoload()
眾多魔術方法中唯一一個不在類中使用的方法,該方法可以自動加載包含文件
for example
one.class.php two.class.php three.class.php test.php 這樣執行test.php文件就可以自動包含以上三個文件了。
11.__sleep()
當我們對某個對象進行序列化時(serialize()),自動調用該函數,在該方法中返回一個數組,數組有幾個成員,就序列化該幾個成員。
12.__wakeup()
當我們對某個二進制文件進行反序列化時(unserialize()),自動調用該函數,自動調用該函數,對反序列化生成的對象進行初始化。
13.__debuginfo()
打印調試信息,該方法只在php5.6以上版本可用
還有很多的魔術方法筆者還沒介紹,讀者如果感興趣,可自行查閱php手冊進行學習
php在線手冊
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26147.html
摘要:重載在中就大量應用了重載相關知識,如在中就用到了方法重載知識使用魔術方法來動態創建類中未定義或不可見的靜態方法。中通過引入魔術方法來實現動態的創建類屬性和方法,包括屬性重載的魔術方法和方法重載的魔術方法。 說明:本文主要講述PHP中重載概念,由于Laravel框架中經常使用這塊知識點,并且PHP的重載概念又與其他OOP語言如JAVA中重載概念不一樣,故復習并記錄相關知識點。同時,作者會...
摘要:結語這里主要測試了,,,,這五個常用的且可有其他實現方式代替的魔法函數。里使用魔術方法的性能還是存在問題嗎答在中使用與不使用魔術方法之間的差異和在中近乎一致。 前言 曾經記得鳥哥Laruence提過不建議使用魔術方法,自此之后一旦涉及使用魔術方法的地方,我都會下意識的想一下,這樣寫真的好嗎?由于這一到兩年來一直忙于工作和學習新的知識,所以在這道坎兒上一直沒有做深入的探索一直恍恍惚惚過去...
摘要:將所有以兩個下劃線開頭的類方法保留為魔術方法。和當對象被當做使用時,這個方法會被自動調用。此方法必須返回一個字符串當對象被當成方法調用時,這個方法會被自動調用。參數是一個枚舉數組,包含著要傳遞給方法的參數。函數把數組元素組合為一個字符串。 PHP 將所有以 _ _(兩個下劃線)開頭的類方法保留為魔術方法。 __toString() 和__invoke() public stri...
摘要:魔術方法構造函數允行開發者在一個類中定義一個方法作為構造函數。如果子類沒有定義構造函數則會如同一個普通的類方法一樣從父類繼承假如沒有被定義為的話。和函數會檢查類中是否存在一個魔術方法。魔術常量魔法方法 PHP - 魔術常量 __LINE__ 文件中的當前行號 __FILE__ 文件的完整路徑和文件名。如果用在被包含文件中,則返回被包含的文件名。 __DIR__ 文件所在的目錄。如果用在...
摘要:魔術方法知識點整理代碼使用語法編寫一構造函數和析構函數構造函數具有構造函數的類會在每次創建新對象時先調用此方法,所以非常適合在使用對象之前做一些初始化工作。在析構函數中調用將會中止其余關閉操作的運行。析構函數中拋異常會導致致命錯誤。 PHP魔術方法知識點整理 代碼使用PHP7.2語法編寫 一、構造函數和析構函數 __construct() 構造函數 __construct ([ mi...
閱讀 3661·2021-09-07 09:59
閱讀 721·2019-08-29 15:12
閱讀 803·2019-08-29 11:14
閱讀 1307·2019-08-26 13:27
閱讀 2660·2019-08-26 10:38
閱讀 3134·2019-08-23 18:07
閱讀 1271·2019-08-23 14:40
閱讀 1922·2019-08-23 12:38