PHP魔術常量 魔術函式

2021-08-31 04:52:19 字數 1508 閱讀 1739

1 : //魔術常量

2 : __line__ //檔案中的當前行號(包含注釋行)

3 : __file__ //檔案的完整路徑和檔名

4 : __function__ //當前所在的函式名稱(php 4.3.0 新增)

5 : __class__ //當前所在的類的名稱( php 4.3.0 新增)

6 : __method__ //當前所在的類的方法名( php 5.0.0 新增)

7 : //核心預定義常量

8 : php_version //php版本資訊和phpversion()結果相同

9 : php_os //作業系統資訊

一些典型的應用如下:

1: //操心系統型別判斷

2: if (substr(php_os, 0, 3) == 'win') else

1: //獲取當前檔案的檔名和路徑

2: echo basename(__file__);

3: echo dirname(__file__);

魔術函式

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魔術函式和魔術常量

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

PHP魔術函式 魔術常量 預定義常量

一 魔術函式 1 construct 例項化物件時被呼叫,當 construct和以類名為函式名的函式同時存在時,construct將被呼叫,另乙個以類名為函式名的函式不被呼叫。2 destruct 當刪除乙個物件或物件操作終止時被呼叫。預設 3 call 物件呼叫某個方法,若方法存在,則直接呼叫 ...

php5魔術函式 魔術常量

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