文獻:
從php 5以後的版本,php中的類就可以使用魔術方法了。其規定以兩個下劃線(__)開頭的方法都保留為魔術方法,所以建議大家函式名最好不用__開頭,除非是為了過載已有的魔術方法。
1、__get、__set
這兩個方法是為在類和他們的父類中沒有宣告的屬性而設計的。
◆__get( $property ) 當呼叫乙個未定義的屬性時,此方法會被觸發,傳遞的引數是被訪問的屬性名。
◆__set( $property, $value ) 給乙個未定義的屬性賦值時,此方法會被觸發,傳遞的引數是被設定的屬性名和值。
這裡的沒有宣告包括當使用物件呼叫時,訪問控制為proteced,private的屬性(即沒有許可權訪問的屬性)。
2、__isset、__unset
◆__isset( $property ) 當在乙個未定義的屬性上呼叫isset()函式時呼叫此方法。
◆__unset( $property ) 當在乙個未定義的屬性上呼叫unset()函式時呼叫此方法。
與__get方法和__set方法相同,這裡的沒有宣告包括當使用物件呼叫時,訪問控制為proteced,private的屬性(即沒有許可權訪問的屬性)。
3、__call
__call( $method, $arg_array ) 當呼叫乙個未定義的方法是呼叫此方法。
這裡的未定義的方法包括沒有許可權訪問…………………………………………………………………………
PHP5中魔術方法
魔術函式 1。construct 例項化物件時被呼叫,當 construct和以類名為函式名的函式同時存在時,construct將被呼叫,另乙個不被呼叫。2。destruct 當刪除乙個物件或物件操作終止時被呼叫。3。call 物件呼叫某個方法,若方法存在,則直接呼叫 若不存在,則會去呼叫 call...
PHP5中常見魔術方法函式
php5中常見魔術方法函式 魔術方法 construct 例項化物件時被呼叫 destuct 當刪除乙個物件或者物件操作終止時被執行 call 呼叫物件不存在方法時被呼叫 get 呼叫物件不存在的屬性時被呼叫 set 設定物件不存在的屬性時被呼叫 tostring 列印乙個物件時被呼叫,比如echo...
基於PHP5魔術常量與魔術方法的詳解
魔術常量 1。line 返回檔案中的當前行號。2。file 返回檔案的完整路徑和檔案程式設計客棧名。如果用在包含檔案中,則返回包含檔名。自php4.0.2 起,file 總是包含乙個絕對路徑,而在此之前的版本有時會包含乙個相對路徑。3。function 返回函式名稱 php4.3.0 新加 自php...