php魔法函數(shù)

php魔法函數(shù)性能不佳,盡量避免使用php魔法函數(shù):(主要用在:動態(tài)代理、實現(xiàn)準AOP)

1. __construct() 實例化對象時被調用,

當__construct和以類名為函數(shù)名的函數(shù)同時存在時,__construct將被調用,另一個不被調用。

作用:初始化類的成員變量

2. __destruct() 當刪除一個對象或對象操作終止時被調用。

作用:釋放對象占用的資源

3. __call(string $name, array $arguments ) 對象調用某個方法,

若方法可訪問,則直接調用;

若方法不可訪問,則會去調用__call函數(shù)。

4. __get() 讀取一個對象的屬性時, 若屬性存在,則直接返回屬性值; 若不存在,則會調用__get函數(shù)。

5. __set() 設置一個對象的屬性時, 若屬性存在,則直接賦值; 若不存在,則會調用__set函數(shù)。

6. __toString() 打印一個對象的時被調用。

如echo $obj;或print $obj;

7. __clone() 克隆對象時被調用。如:$t=new Test();$t1=clone $t;

8. __sleep() serialize之前被調用。若對象比較大,想刪減一點東東再序列化,可考慮一下此函數(shù)。

9. __wakeup() unserialize時被調用,做些對象的初始化工作。

10. __isset() 檢測一個對象的屬性是否存在時被調用。如:isset($c->name)。

11. __unset() unset一個對象的屬性時被調用。如:unset($c->name)。

12. __set_state() 類的實例被var_export時,該方法會被調用

用__set_state的返回值做為var_export的返回值。

13.__autoload() 實例化一個對象時,如果對應的類不存在,則該方法被調用。

14. __debugInfo() 類的實例被var_dump時,該方法會被調用(PHP 5.6.0才有)

15? __invoke()把類的實例當成函數(shù)一樣調用時,該方法會被調用

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學習記錄文檔,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 3,162評論 2 9
  • 一、數(shù)組 1、數(shù)組定義 數(shù)組就是一個鍵值對組成的語言結構,鍵類似于酒店的房間號,值類似于酒店房間里存儲的東西。 $...
    空谷悠閱讀 870評論 4 11
  • 在洋務運動期間,李鴻章創(chuàng)辦的輪船招商局是中國第一家官督商辦的近代企業(yè),也算是洋務運動中經(jīng)營狀況最好的一家。 鴉片戰(zhàn)...
    梁宵閱讀 642評論 0 1
  • 敲開記憶之門…… 不知從什么時候開始,世界上開始出現(xiàn)一種奇怪的生物,生于混沌,隱于黑暗。它的體型像犬類,四肢發(fā)達,...
    麻逗閱讀 427評論 0 2
  • 逃避困難 逃避,在我的人生中一直藏著它的影子。上學時雖然成績好,但每每遇到難題,不好意思去請教,于是把所有問題都羅...
    薔薇石Elsa閱讀 763評論 5 3

友情鏈接更多精彩內容