魔術方法複習
2014-9-2 10:08:00 notepad++ by jiancaigege 飛鴻影~
=========================
1、__construct()
構造方法
用于類執行個體化時自動運作的方法
常用于初始化成員屬性值等
2、__destruct()
析構函數
用于類銷毀時自動運作的方法
常用語銷毀資源、關閉資源等
3、__set(param,
value)
用于給對象中非公有的成員屬性設定值時自動調用的方法
例如:
4、__get($param)
用于擷取對象中非公有的成員屬性值時自動調用的方法
5、__isset()
用于測試對象中非公有屬性值時自動調用的方法
6、__unset()
用于銷毀對象中非公有屬性值時自動調用的方法
7、__tostring()
當試圖直接echo對象時自動調用的方法
示例:
8、__call()
當試圖調用對象中不存在的方法時自動調用的方法
9、__clone()
在克隆對象時,對象裡有子對象或資源時,此時需要加上這個方法,否則會複制不完整
當然,我們也可以在該方法中添加trigger_error('error',e_user_error);或者直接設定為private防止克隆
10、__sleep()
對象串行化(serialize)時,如果類中有子對象或資源被調用;
這時候我們需要使用該方法來進行送出未送出的資料,或類似的清理操作;
例如儲存資料、關閉一些資源等
示例:(串行化時儲存連接配接資料庫需要的資料)
11、__wakeup()
對象反串行化(unserialize)時,恢複串行化前的一些狀态,例如重建立立資料庫連接配接,或執行其它初始化操作
示例:(上例中,我們需要自動恢複資料庫連接配接)
12、__autoload(string $class_name)
用于自動加載需要的類檔案
注意:該方法用于類之外