PHP 中的 常量 變數 魔術常量 …

來源:互聯網
上載者:User

PHP 向它啟動並執行任何指令碼提供了大量的預定義常量
。不過很多常量都是由不同的擴充庫定義的,只有在載入了這些擴充庫時才會出現,或者動態載入後,或者在編譯時間已經包括進去了。
有五個魔術常量根據它們使用的位置而改變。例如 __LINE__
的值就依賴於它在指令碼中所處的行來決定。這些特殊的常量不區分大小寫,如下:
表 13-1. 幾個 PHP 的“魔術常量”
名稱
說明
__LINE__
檔案中的當前行號。
__FILE__
檔案的完整路徑和檔案名稱。如果用在包含檔案中,則返回包含檔案名稱。自 PHP 4.0.2 起,__FILE__
總是包含一個絕對路徑,而在此之前的版本有時會包含一個相對路徑。
__FUNCTION__
函數名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函數被定義時的名字(區分大小寫)。在 PHP 4
中該值總是小寫字母的。
__CLASS__
類的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該類被定義時的名字(區分大小寫)。在 PHP 4
中該值總是小寫字母的。
__METHOD__
類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。

--------------------------------------------------------------------------------------------------------

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') {
3:     define('OS_WINDOWS', true);
4: } else {
5:     define('OS_WINDOWS', false);
6: }

 

1: //擷取當前檔案的檔案名稱和路徑
2: echo basename(__FILE__);
3: echo dirname(__FILE__);
核心預定義常量
核心預定義常量 -- 在 PHP 核心、Zend 和 SAPI 模組中定義的常量
描述
這些常量在 PHP 的核心中定義。它包含 PHP、Zend 引擎和 SAPI 模組。

PHP_VERSION (string)
PHP_OS (string)
DEFAULT_INCLUDE_PATH (string)
PEAR_INSTALL_DIR (string)
PEAR_EXTENSION_DIR (string)
PHP_EXTENSION_DIR (string)
PHP_BINDIR (string)
PHP_LIBDIR (string)
PHP_DATADIR (string)
PHP_SYSCONFDIR (string)
PHP_LOCALSTATEDIR (string)
PHP_CONFIG_FILE_PATH (string)
PHP_OUTPUT_HANDLER_START (integer)
PHP_OUTPUT_HANDLER_CONT (integer)
PHP_OUTPUT_HANDLER_END (integer)
E_ERROR (integer)
E_WARNING (integer)
E_PARSE (integer)
E_NOTICE (integer)
E_CORE_ERROR (integer)
E_CORE_WARNING (integer)
E_COMPILE_ERROR (integer)
E_COMPILE_WARNING (integer)
E_USER_ERROR (integer)
E_USER_WARNING (integer)
E_USER_NOTICE (integer)
E_ALL (integer)

補充:
$HTTP_POST_VARS --使用者透過POST方法傳遞的資料
$HTTP_GET_VARS --使用者透過GET方法傳遞的資料
$HTTP_COOKIE_VARS -- 送到目前程式的所有COOKIE
$HTTP_POST_FILES -- 包含所有使用PHP檔案上傳功能傳遞的檔案資訊
$HTTP_ENV_VARS -- 包含所有環境變數
$HTTP_SERVER_VARS -- 包含所有伺服器送給PHP的變數
$HTTP_SESSION_VARS -- 包含所有目前SESSION的變數
在PHP4.1,上面的變數都自動有比較簡短的版本可用,分別是
$_POST
$_GET
$_COOKIE
$ENV
$_SERVER
另外$_REQUEST包含$_POST,$_GET,$_COOKIE

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.