php 物件導向中的魔術方法

奮程式序猿發表於2014-02-25

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()

例項化一個物件時,如果對應的類不存在,則該方法被掉用。

相關文章