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