在PHP 編程中, define函數用於定義一個常量。常量在程序執行過程中其值不會改變,適合存儲一些固定的配置信息、狀態碼或標識符。相比於變量,常量具有全局有效且不可更改的特點,能提高代碼的可讀性和安全性。
define函數的基本語法如下:
define(string $name, mixed $value, bool $case_insensitive = false): bool
$name :常量名,通常使用大寫字母。
$value :常量的值,可以是標量類型(字符串、整數、浮點數、布爾值)。
$case_insensitive (PHP 7.3 之前支持):是否忽略大小寫,默認是false 。但建議不啟用此參數,因為從PHP 7.3 起已廢棄。
一旦定義了常量,就可以在整個腳本中通過常量名訪問它,而無需使用$符號。
define('SITE_NAME', 'gitbox.net');
echo "歡迎訪問 " . SITE_NAME;
輸出:
歡迎訪問 gitbox.net
define('MAX_LOGIN_ATTEMPTS', 5);
$attempts = 3;
if ($attempts < MAX_LOGIN_ATTEMPTS) {
echo "你還有登錄機會";
} else {
echo "登錄次數已達上限";
}
define('DEBUG_MODE', true);
if (DEBUG_MODE) {
echo "開啟調試模式,顯示詳細錯誤信息";
}
define('BASE_URL', 'https://gitbox.net/api/v1/');
echo "接口地址:" . BASE_URL . "users";
輸出:
接口地址:https://gitbox.net/api/v1/users
define('STATUS_ACTIVE', 1);
define('STATUS_INACTIVE', 0);
$user_status = STATUS_ACTIVE;
if ($user_status === STATUS_ACTIVE) {
echo "用戶狀態:活躍";
} else {
echo "用戶狀態:不活躍";
}
define用於聲明不可變的常量,且常量名無需加$ 。
常量的命名一般使用大寫字母,增加代碼可讀性。
常量適合存儲配置參數、狀態碼、URL 等固定數據。
從PHP 7.3 起,不推薦使用大小寫不敏感的常量定義。
通過合理使用define ,可以讓代碼更清晰,減少硬編碼,提高代碼的維護性和安全性。