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新加的