PHP5中魔術方法

2022-03-28 00:08:40 字數 1515 閱讀 7708

魔術函式

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

例項化乙個物件時,如果對應的類不存在,則該方法被呼叫。

魔術常量

1。__line__ 

返回檔案中的當前行號。

2。__file__ 

返回檔案的完整路徑和檔名。如果用在包含檔案中,則返回包含檔名。自 php 4.0.2 起,__file__ 總是包含乙個絕對路徑,而在此之前的版本有時會包含乙個相對路徑。

3。__function__ 

返回函式名稱(php 4.3.0 新加)。自 php 5 起本常量返回該函式被定義時的名字(區分大小寫)。在 php 4 中該值總是小寫字母的。

4。__class__ 

返回類的名稱(php 4.3.0 新加)。自 php 5 起本常量返回該類被定義時的名字(區分大小寫)。在 php 4 中該值總是小寫字母的。

5。__method__ 

返回類的方法名(php 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。

(1)初識魔術方法

php5.0發布以來為我們提供了很多物件導向的特性,尤其是為我們提供了好多易用的魔術方法,這些魔術方法可以讓我們簡化我們的編碼,更好的設計我們的系統。今天我們就來認識下php5.0給我們提供的魔術方法。

php中魔術方法的應用

魔術方法是以兩個下劃線 開頭,具有特殊作用的一些方法,可以看做 php 的 語法糖 語法糖 指那些沒有個計算機語言新增新功能,而只是對人類來說更 甜蜜 的語法,語法糖往往給程式設計師提供了更實用的編碼方式或者一些技巧的用法,有益於更好的編碼風格,是 更易讀。不過其並沒有給語言新增什麼新東西。php ...

PHP5中魔術方法函式有哪幾個,舉例說明各自的用法

魔術方法 construct 例項化物件時被呼叫 destuct 當刪除乙個物件或者物件操作終止是被執行 call 呼叫物件不存在方法時被呼叫 get 呼叫物件不存在的屬性時被呼叫 set 設定物件不存在的屬性時被呼叫 tostring 列印乙個物件時被呼叫,比如echo obj,print obj...

PHP5中常見魔術方法函式

php5中常見魔術方法函式 魔術方法 construct 例項化物件時被呼叫 destuct 當刪除乙個物件或者物件操作終止時被執行 call 呼叫物件不存在方法時被呼叫 get 呼叫物件不存在的屬性時被呼叫 set 設定物件不存在的屬性時被呼叫 tostring 列印乙個物件時被呼叫,比如echo...