PHP魔術方法和魔術常量

2021-06-16 20:12:21 字數 1389 閱讀 2591

具體的解釋如下:

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 新加)。返回該方法被定義時的名字(區分大小寫)。

這裡乙個比較詳細的講解:

PHP魔術方法和魔術常量

具體的解釋如下 1。construct 例項化物件時被呼叫,當 construct和以類名為函式名的函式同時存在時,construct將被呼叫,另乙個不被呼叫。2。destruct 當刪除乙個物件或物件操作終止時被呼叫。3。call 物件呼叫某個方法,若方法存在,則直接呼叫 若不存在,則會去呼叫 c...

php魔術常量和魔術方法

1.概述 get 獲取私有屬性值的時候呼叫 set 設定私有屬性值的時候呼叫 construct 構造方法 destruct 析構方法 unset 觸發時機 當銷毀乙個私有成員屬性的時候呼叫 引數 屬性名 isset 觸發時機 當判斷乙個私有成員屬性是否被設定過時呼叫 引數 屬性名 invoke 了...

php魔術常量,魔術方法

魔術常量 1。line 返回檔案中的當前行號。2。file 返回檔案的完整路徑和檔名。如果用在包含檔案中,則返回包含檔名。自php4.0.2 起,file 總是包含乙個絕對路徑,而在此之前的版本有時會包含乙個相對路徑。3。function 返回函式名稱 php4.3.0 新加 自php5 起本常量返...