PHP預先定義了幾個常量,並提供了一種機制在運行時自己定義。常量和變數基本上是一樣的,不同的是:常量必須用DEFINE函數定義,常量一旦定義好,就不能被重新定義了。
PHP中預先定義好的常量:
__FILE__
這個預設常量是 PHP 程式檔案名稱。若引用檔案 (include 或 require)則在引用檔案內的該常量為引用檔案名稱,而不是引用它的檔案名稱。
__LINE__
這個預設常量是 PHP 程式行數。若引用檔案 (include 或 require)則在引用檔案內的該常量為引用檔案的行,而不是引用它的檔案行。
PHP_VERSION
這個內建常量是 PHP 程式的版本,如 ’3.0.8-dev’。
PHP_OS
這個內建常量指執行 PHP 解析器的作業系統名稱,如 ’Linux’。
TRUE
這個常量就是真值 (true)。
FALSE
這個常量就是偽值 (false)。
E_ERROR
這個常量指到最近的錯誤處。
E_WARNING
這個常量指到最近的警告處。
E_PARSE
本常式為解析文法有潛在問題處。
E_NOTICE
這個常式為發生不尋常但不一定是錯誤處。例如存取一個不存在的變數。
這些 E_ 開頭形式的常量,可以參考 error_reporting() 函數,有更多的相關說明。
可以用DEFINE函數定義更多的常量。
如,定義常量:
<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
?>
用 __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!");
?>
我自己的寫法:
<?
$file = __FILE__;
$line = __LINE__;
echo $file;
echo "<br><br>";
echo $line;
echo "<br><br>";
echo __FILE__;
echo "<br><br>";
echo (__LINE__);
?>
echo常量用echo (); 不用echo ""