1. 程式人生 > >PHP5中魔術方法函式有哪幾個,舉例說明各自的用法

PHP5中魔術方法函式有哪幾個,舉例說明各自的用法

魔術方法:

__construct() :例項化物件時被呼叫;

__destuct():當刪除一個物件或者物件操作終止是被執行;

__call():呼叫物件不存在方法時被呼叫;

__get():呼叫物件不存在的屬性時被呼叫;

__set():設定物件不存在的屬性時被呼叫;

__toString():列印一個物件時被呼叫,比如echo $obj,print($obj);

__clone():克隆物件時被呼叫,比如$t = new Test();$tt = clone $t;

__sleep():serialize之前被呼叫,若物件比較大,想做一些刪除在序列化,可以考慮使用該方法;

__wakeup():unserialize之前被呼叫,做些物件的初始化;

__isset():檢測物件是否存在屬性的時候被呼叫,如 isset($c->name);

__unset():unset一個物件屬性時被呼叫,如:unset($c->name);

__set_state():呼叫var_export時被呼叫,用__set_state的返回值作為 var_export的返回值;

__autoload():例項化一個物件時,如果對應的類不存在,在該方法被呼叫。

 

魔術常量:

__LINE__:返回當前行號;

__FILE__:返回檔案的完整路徑和檔名,如果用在包含檔案裡面,則返回包含檔名,自 php4.0.2後,__FILE__總是包含一個絕對路徑,而在此前的版本有時候會包含一個相對路徑;

__FUNCTION__:返回函式名稱(自 php4.3.0新加的)。自php5起本常量返回該函式被定義時的名稱,區分大小寫,在php4中該值總是小寫;

__CLASS__:返回類的名稱,自 php4.3.0新加的,自php5起本常量返回該類被定義時的名稱,區分大小寫,在php4中該值總是小寫的;

__METHOD__:返回類的方法名。 php5新加的