定義:
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){
//實現細節
建立的變數名。 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(){ //實現細節 以上就介紹了PHP 魔術方法 PHP 類別中的魔術方法,包括了PHP 魔術方法的內容,希望對PHP教程有興趣的朋友有所幫助。