php中12個魔術方法

來源:互聯網
上載者:User

標籤:des   os   使用   strong   檔案   資料   on   ad   工作   

本文列舉了php物件導向當中12個魔術方法,並對此進行一一詳細介紹,希望對新手有所協助。

1.構造方法: __construct()

參數:自訂

觸發時機:new的一瞬間自動調用

作用:初始化成員屬性

2.析構方法__destruct()

參數:無

觸發時機:在對象釋放的一瞬間自動調用

作用:做收尾工作,資料庫關閉串連等

3.__get()

參數:一個,成員屬性名稱

觸發時機:在類外部存取私人的受保護的或者未定義的成員屬性時自動調用

作用:控制私人的受保護的未定義的成員屬性的訪問

4.__set()

參數:兩個,成員屬性的名稱和值

觸發時機:在類外部設定私人的受保護的未定義的成員屬性時自動調用

作用:對私人的受保護的未定義的成員屬性進行賦值控制

5.__isset()

參數:一個參數,成員屬性名稱

觸發時機:在類外部調用isset和empty方法驗證私人的受保護的未定義的成員屬性時自動調用

作用:對私人的受保護的未定義成員屬性進行isset和empty的判斷控制

6.__unset()

參數:一個參數,成員屬性名稱

觸發時機:在類外部使用unset方法對私人的受保護的成員屬性進行銷毀的一瞬間自動調用

作用:對私人的受保護的成員屬性進行unset銷毀控制

7.__clone()

參數:無

觸發時機:在類外部使用clone關鍵字對對象進行複製時自動調用

作用:對複製體進行標示

8.__toString()

參數:無

觸發時機:在類外部echo對象的時候自動調用

作用:快速輸出對象的內容

注意:本方法必須返回一個字串類型的內容

9.__call()

參數:兩個參數,調用的不存在方法名稱,第二個參數為方法的參數(數組)

觸發時機:使用對象調用一個不存在的方法自動調用

作用:屏蔽顯示的錯誤

10.__autoload()

參數:一個參數,new的類的名稱

觸發時機:當new一個找不到的類或者繼承的父類或者在方法體中new的找不到的類的時候自動調用

作用:自動載入找不到的類檔案

注意:本方法是在類外部定義的

11.__sleep()

參數:無

觸發時機:當在類外部對對象進行序列化的一瞬間自動調用serialize()

作用:可以對序列化的成員屬性的選擇進行控制

注意:必須返回一個數組(元素:成員屬性名稱)

12.__wakeup()

參數:無

觸發時機:反序列化的一瞬間自動調用unserialize()

作用:在喚醒時對成員屬性進行控制

注意:在反序列化時必須有類在場

php中12個魔術方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.