php魔術變數和13個PHP魔術函式

2021-09-07 19:33:58 字數 2155 閱讀 6743

php魔術變數確切地說是php魔術常量,不過很多常量都是由不同的擴充套件庫定義的,只有在載入了這些擴充套件庫時才會出現,或者動態載入後,或者在編譯時已經包括進去了。比如說__line__放在不同的地方是顯示不同的行數

php魔術常量(8個)

__line__  檔案中的當前行號。

<?php

echo '這是第 " ' . __line__ . ' " 行';

?>

以上例項輸出結果為: 這是第 「 2 」 行

<?php

你好嗎?

echo '這是第 " ' . __line__ . ' " 行';

?>

以上例項輸出結果為: 這是第 「 3 」 行

__file__  檔案的完整路徑和檔名。如果用在被包含檔案中,則返回被包含的檔名。

__dir__  檔案所在的目錄。如果用在被包括檔案中,則返回被包括的檔案所在的目錄。

__function__  常量返回該函式被定義時的名字

__class__  常量返回該類被定義時的名字(區分大小寫)。

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

__namespace__  當前命名空間的名稱(區分大小寫)。此常量是在編譯時定義的(php 5.3.0 新增)。

php魔術函式(13個)

__construct()   例項化物件時被呼叫,當__construct和以類名為函式名的函式同時存在時,__construct將被呼叫,另乙個不被呼叫。

__destruct()   當刪除乙個物件或物件操作終止時被呼叫。

__call()      物件呼叫某個方法,若方法存在,則直接呼叫;若不存在,則會去呼叫__call函式。

__get()     讀取乙個物件的屬性時,若屬性存在,則直接返回屬性值;若不存在,則會呼叫__get函式。

__set()     設定乙個物件的屬性時,若屬性存在,則直接賦值;若不存在,則會呼叫__set函式。

__tostring()   列印乙個物件的時被呼叫。如echo $obj;或print $obj;

__clone()    轉殖物件時被呼叫。如:$t=new test();$t1=clone $t;

__sleep()    serialize之前被呼叫。若物件比較大,想刪減一點東東再序列化,可考慮一下此函式。

__wakeup()   unserialize時被呼叫,做些物件的初始化工作。

__isset()    檢測乙個物件的屬性是否存在時被呼叫。如:isset($c->name)。

__unset()    unset乙個物件的屬性時被呼叫。如:unset($c->name)。

__set_state()  呼叫var_export時,被呼叫。用__set_state的返回值做為var_export的返回值。

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

php超級全域性變數(9個)

$globals  儲存全域性作用域中的變數

$_server  獲取伺服器相關資訊

$_request  獲取post和get請求的引數

$_post  獲取表單的post請求引數

$_get  獲取表單的get請求引數

$_files  獲取上傳檔案的的變數

$_env  獲取伺服器端環境變數的陣列

$_cookie   瀏覽器cookie的操作

設定cookie:setcookie(name, value, expire, path, domain);

獲取cookie:$_cookie["user"];

刪除cookie:setcookie("user", "", time()-3600);//設定過期時間

$_session  服務端session的操作

使用session前一定要session_start()啟動session

儲存session:$_session["name"]="king";//陣列操作

銷毀session:unset($_session["name"]);//銷毀乙個

session_destroy()和unset($_session);//銷毀所有的session

PHP魔術變數和魔術方法

魔術變數 1.file 當前執行檔案的完整路徑和檔名。如果用在被包含檔案中,則返回被包含的檔名。魔術方法 1.sleep 和 weekup 執行serialize 前呼叫類裡的 sleep 方法,並返回陣列 去掉不必要的屬性 執行unserialize 前呼叫 wakeup 方法,並返回序列化後需要...

PHP魔術方法和魔術變數

construct 類的建構函式 destruct 類的析構函式 call 在物件中呼叫乙個不可訪問方法時呼叫 callstatic 用靜態方式中呼叫乙個不可訪問方法時呼叫 get 獲得乙個類的成員變數時呼叫 set 設定乙個類的成員變數時呼叫 isset 當對不可訪問屬性呼叫isset 或empt...

php魔術變數的概念 PHP 魔術變數

php 魔術變數 php 向它執行的任何指令碼提供了大量的預定義常量。不過很多常量都是由不同的擴充套件庫定義的,只有在載入了這些擴充套件庫時才會出現,或者動態載入後,或者在編譯時已經包括進去了。有八個魔術常量它們的值隨著它們在 中的位置改變而改變。例如 line 的值就依賴於它在指令碼中所處的行來決...