程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP 類中的魔術方法,php魔術方法

PHP 類中的魔術方法,php魔術方法

編輯:關於PHP編程

PHP 類中的魔術方法,php魔術方法


定義:

     PHP類中以兩個下畫線“__”開頭的方法被稱為魔術方法。

分類:

     例如:構造方法:__construct;析構方法:__destruct;動態重載:__set()、__get()、__call()、__callStatic();對象的克隆:__clone()

應用場景:

    1、當程序試圖修改一個不存在或不可見的類屬性時,PHP引擎將會調用__set()方法,當然前提是該方法在類中被定義。__set()的定義格式如下:

    function __set($name,$value){

                //實現細節

    }

    其中,$name是動態創建的變量名,$value是該變量的值。

   2、當程序試圖讀取一個不存在或不可見的類屬性時,PHP引擎將會調用__get()方法,當然前提是該方法在類中被定義。__get()的定義格式如下:

    function __get($name){

          //實現細節

    }

    其中,$name是動態創建的變量名。

   3、當程序試圖調用一個不存在或不可見的類方法時,PHP引擎將會調用__call()方法,當然前提是該方法在類中被定義。__call()方法的定義格式如下:

     function __call($name,$args){

            //實現細節

     }

     其中,$name是動態創建的方法名,$args是該方法的參數,以數組的形式存在。

 

    4、從PHP5.3.0開始,可以使用__callStatic()動態創建靜態方法。__callStatic()的定義格式如下:

     function __callStatic($name,$args){

           //實現細節

     }

     其中,$name是動態創建的方法名,$args是該方法的參數,以數組的形式存在。

    5、__clone()方法一旦被定義,類在被復制時就會自動調用它,這樣我們就可以在__clone()方法中給引用屬性重新開辟內存。__clone()定義格式如下:

     function __clone(){

         //實現細節

     }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved