首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 大小寫敏感規則完整整理:變量、函數、常量、魔術常量

     編輯:PHP 綜合知識

避開大小寫陷阱,建立統一代碼規範

PHP 的大小寫敏感規則並不統一,歷史遺留導致不同標識符表現不同。本文系統整理變量、常量、函數/方法/類、魔術常量、特殊值、類型轉換、配置指令的大小寫規則,助您編寫一致、可預測的代碼。

一、嚴格區分大小寫

類別示例說明
變量名$abc vs $aBc vs $ABC三個不同變量,所有變量均區分,含超全局 ($_GET, $_SESSION...)
常量名define('ABC', 1); ABC vs abc預設區分,慣例全大寫。無配置項可改變此行為。
php.ini 指令file_uploads vs File_uploads配置指令區分大小寫,必須小寫。

二、不區分大小寫 (但建議統一風格)

類別示例建議
函數名show() vs SHOW() vs Show()與定義時保持一致 (推薦小寫/駝峰)
類名class User vs class USER推薦 PascalCase (User)
方法名User::getName() vs User::GETNAME()推薦 camelCase (getName)
魔術常量__LINE__ vs __line__推薦全大寫
特殊值null/NULL, true/TRUE, false/FALSE推薦小寫 (PSR-12)
類型強制轉換(int) vs (INT), (string) vs (STRING)推薦小寫

三、代碼示例驗證

<?php
// 1. 變量區分
$abc = 'test';
echo $abc; // test
echo $aBc; // Notice: Undefined variable

// 2. 常量區分
define('MY_CONST', 100);
echo MY_CONST; // 100
echo my_const; // Notice: Use of undefined constant (PHP 8+ Error)

// 3. 函數/類/方法不區分
function myFunc() { echo 'ok'; }
myFunc(); // ok
MYFUNC(); // ok
class MyClass { static function myMethod() { echo 'method'; } }
MyClass::MyMethod(); // method

// 4. 魔術常量不區分
echo __line__; // 當前行號
echo __LINE__; // 當前行號

// 5. 特殊值不區分
$a = null; $b = NULL; var_dump($a === $b); // true
$c = true; $d = TRUE; var_dump($c === $d); // true

// 6. 類型轉換不區分
$num = 123;
$str1 = (STRING)$num;
$str2 = (string)$num;
var_dump($str1 === $str2); // true
?>

四、最佳實踐建議

  1. 統一規範:團隊制定編碼標準 (推薦遵循 PSR-1/PSR-12)。
  2. 變量/函數/方法:使用 camelCase (如 $userName, getUserInfo())。
  3. 類/介面/ Trait:使用 PascalCase (如 UserService)。
  4. 常量:使用 SNAKE_CASE 全大寫 (如 MAX_RETRY_COUNT)。
  5. 魔術常量/特殊值/類型轉換:全大寫/全小寫統一,推薦魔術常量大寫,其餘小寫。
  6. 配置文件:嚴格小寫指令名。

雖然 PHP 允許部分標識符不區分大小寫,但始終按區分大小寫編寫,能消除認知負擔、減少隱性 Bug、提升團隊協作效率。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved