php物件導向中的魔術函式

2021-06-20 23:54:55 字數 1072 閱讀 4542

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物...