Forum und email

常數

PHP 自己提供了一些常數, 也允許程式執行時另外再定義各種常數。常數和變數很相似, 它們之間只有兩個分別: 首先常必須用 define() 函數來定義, 另外就是一旦定義後常數的值不可改變。

系統內預先定義的常數包括:

__FILE__
儲存了目前正被執行的文件的名字。 如果用在被 include() 或 require() 的文件之中, 則儲存了母文件的名字而非被 include() 或 reuqire() 文件的名字。
__LINE__
現在正在被分析/解析的指令行。 如果指令是在被 include() 或 require() 的文件中, 則儲存指令在該子文件中的行號。
PHP_VERSION
以文句的型態儲存了現時 PHP 的版本。 例如 '3.0.8-dev'.
PHP_OS
運行 PHP 的作業系統, 如 'Linux'.
TRUE
代表邏輯值真/是。
FALSE
代表邏輯值假/非。
E_ERROR
代表出現了並非解析上的錯誤並引致程式無法繼續執行下去。
E_WARNING
代表出現了警兆但 PHP 會繼續執行程式。 這樣的警兆可用程式中捕捉。類似的例子如 ereg() 中表達式弄錯了。
E_PARSE
解析器在分析指令行時發現了錯誤, 在這情況下無法回復程式的執行。
E_NOTICE
代表有些事不對勁, 可能是發生了錯誤也可能不是。 這類問題的例子有: 用關聯字索引取用陣列時沒有把關聯字用引號括起來、 沒有指定變數的取用變數‧‧‧
E_ALL
??

這些由 E_ 打頭的常數通常是和 error_reporting()函數配合用來調整 error reporting level , 就是說調設有哪些錯誤會被處理, 有哪些會被忽略。

如要定義自己的常數, 請用 define() 函數。

留心這都是常數而不是 C 風格的巨集: 常數只能儲存合法的數據。

Example#1 設定 常數

<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
?>
     

Example#2 __FILE__ 和 __LINE__ 的用法

<?php
function report_error($file, $line, $message) {
    echo "An error occured in $file on line $line: $message.";
}

report_error(__FILE__,__LINE__, "Something went wrong!");
?>