1。
__construct()
例項化物件時被呼叫,
當__construct
和以類名為函式名的函式同時存在時,
__construct
將被呼叫,另乙個不被呼叫。
2。__destruct()
當刪除乙個物件或物件操作終止時被呼叫。
3。__call()
物件呼叫某個方法,
若方法存在,則直接呼叫;
若不存在,則會去呼叫__call
函式。 4。
__get()
讀取乙個物件的屬性時,
若屬性存在,則直接返回屬性值;
若不存在,則會呼叫__get
函式。 5。
__set()
設定乙個物件的屬性時,
若屬性存在,則直接賦值;
若不存在,則會呼叫__set
函式。 6。
__tostring()
列印乙個物件的時被呼叫。如echo $obj;
或print $obj;
7。__clone()
轉殖物件時被呼叫。如:$t=new test();$t1=clone $t;
8。__sleep()
serialize之前被呼叫。若物件比較大,想刪減一點東東再序列化,可考慮一下此函式。
9。__wakeup()
unserialize時被呼叫,做些物件的初始化工作。
10。__isset()
檢測乙個物件的屬性是否存在時被呼叫。如:isset($c->name)。
11。__unset()
unset乙個物件的屬性時被呼叫。如:
unset($c->name)。
12。__set_state()
呼叫var_export
時,被呼叫。用
__set_state
的返回值做為
var_export
的返回值。
13。__autoload()
例項化乙個物件時,如果對應的類不存在,則該方法被呼叫。
php物件導向中的魔術方法
在 php 中以兩個下劃線開頭的方法,construct destruct call callstatic get set isset unset sleep wakeup tostring set state,clone autoload 等,被稱為 魔術方法 magic methods 注意 這...
PHP物件導向 魔術方法
get name 觸發時機 當呼叫乙個不訪問的成員屬性的時候,會自動觸發,可以利用這個方法來完成對不可呼叫的屬性進行呼叫,但是不能設定值 set name,value 觸發時機 當給乙個不可訪問的成員屬性賦值的時候,會自動觸發這個方法,可以利用這個方法完成對不可以訪問的屬性進行賦值 isset na...
PHP中的物件導向OOP中的魔術方法
一 什麼是魔術方法 php為我們提供了一系列用 開頭的函式,這些函式無需自己手動呼叫,會在合適的時機自動呼叫,這類函式稱為魔術函式。例如 function construct 在new乙個新物件時自動呼叫此函式 二 php中都有那些魔術方法,以及它們的作用 1.construct 建構函式,new物...