這篇文章主要介紹了php面向對象中的魔術方法中文說明,明白這些方法才好寫面向對象程序,需要的朋友可以參考下
1.__construct()
實例化對象是被自動調用。當__construct和以類名為函數名的函數 同時存在時調用__construct,另一個不背調用。
類名為函數名的函數為老版的構造函數。
2.__destruct()
當刪除一個對象或一個對象操作結束是被調用。
3.__call()
對象調用某個方法。若方法不存在,這調用__call 這個方法
4.__get()
讀取一個對象屬性,如果對象屬性是私有的會調用它
5.__set()
給一個對象屬性賦值時如果屬性是私有的會調用它
6.__toString()
打印一個對象的時候會被調用。
7.__clone()
克隆對象時被調用,如:$a=new test(); $a1=clone $a;
8.__sleep()
Serialize 之前被調用,若對象比較大,想刪減一點東西在序列化可以用它。
9.__wakeup()
Unserialize時被調用,做些對象的初始化工作。
10.__isset()
檢測一個對象的屬性是否存在如果 檢測的屬性是私有的時候會被調用。
11.__unset()
刪除一個對象屬性時如果 刪除的對象屬性是私有的會被調用
12.__set_state()
調用var_export時,被調用。用__set_state的返回值做為var_export的返回值。
13.__autoload()
實例化一個對象時,如果對應的類不存在,則該方法被掉用。