PHP教程:命名规范
编辑文章PHP的通用命名规范旨在通过统一的标识符命名风格,提升代码的可读性、一致性及团队协作效率。其核心是不同语言结构采用不同的命名约定。
基础示例
<?php
// 变量
$userName = 'John';
$isValid = true;
// 常量
define('SITE_NAME', 'MyApp');
const MAX_LOGIN_ATTEMPTS = 5;
// 函数
function calculateTotalPrice() {}
function get_user_by_id($id) {}
// 类
class UserController {}
class Psr4CompliantClass {}
// 类方法
public function getUserName() {}
private static function _validateInput() {}
// 属性
public $firstName;
private $_internalData;
通用规范
大小写敏感性与字符组成
PHP中的所有标识符(变量、常量、函数等)名称均区分大小写。有效字符仅包含字母(a-z, A-Z)、数字(0-9)以及下划线(_),且不能以数字开头。例如 $var1 有效,而 $1var 无效。
变量与属性命名
通常采用 camelCase(小驼峰式),即首字母小写,后续单词首字母大写。例如 $firstName、$lastLoginTime。历史上,类中私有或受保护的属性有时会加一个下划线前缀以示区分,如 $_internalValue,但这并非强制规范。
常量命名
传统上使用 UPPER_SNAKE_CASE,即所有字母大写,单词间用下划线连接。这适用于通过 define() 或 const 定义的常量。例如 API_ENDPOINT、DEFAULT_PAGE_SIZE。
函数与方法命名
函数名通常使用 snake_case(全小写,下划线连接),例如 str_replace()、get_user_data()。而类的方法名更普遍地采用 camelCase(),例如 $user->getProfile()。PSR标准建议方法使用 camelCase。
类与接口命名
必须使用 PascalCase(大驼峰式或StudlyCaps),即每个单词首字母大写。例如 class UserRepository、interface LoggerInterface。这是PHP社区广泛遵循的核心规范。
文件名与自动加载
当遵循PSR-4等自动加载标准时,类文件名应与类名严格对应,采用 PascalCase,并以 .php 结尾。例如类 MyNamespace\MyClass 应位于文件 MyClass.php 中。对于非类的脚本文件,习惯上使用 snake_case,如 config_helper.php。