php多種魔術方法解析

來源:互聯網
上載者:User
PHP中把兩個底線開頭的方法稱為 魔術方法,這些方法在PHP中充當了舉足輕重的作用, 魔術方法特別常見,特別是在封裝的方法中, 魔術方法也給實現封裝類帶來了很方便的用法

常見的魔術方法:

  1. construct() 執行個體化對象是被自動調用。當construct和以類名為函數名的函數 同時存在時調 用construct,另一個不背調用。類名為函數名的函數為老版的建構函式。

  2. destruct() 當刪除一個對象或一個對象操作結束是被調用。

  3. call() 對象調用某個方法。若方法不存在,這調用call 這個方法

  4. get() 讀取一個對象屬性,如果對象屬性是私人的會調用它

  5. set() 給一個對象屬性賦值時如果屬性是私人的會調用它

  6. toString() 列印一個對象的時候會被調用。

  7. clone() 複製對象時被調用,如:$a=new test(); $a1=clone $a;

  8. sleep() Serialize 之前被調用,若對象比較大,想刪減一點東西在序列化可以用它。

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

  10. isset() 檢測一個對象的屬性是否存在如果 檢測的屬性是私人的時候會被調用。

  11. unset() 刪除一個對象屬性時如果 刪除的對象屬性是私人的會被調用

  12. set_state() 調用var_export時,被調用。用set_state的傳回值做為var_export的傳回值。

  13. autoload() 執行個體化一個對象時,如果對應的類不存在,則該方法被掉用。

掌握了以上的魔術方法,對於封裝一個類來說,就沒什麼難度了。

相關推薦:

php魔術方法

php魔術方法對比使用執行個體代碼詳解

php魔術方法應用執行個體代碼匯總

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.