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_ENDPOINTDEFAULT_PAGE_SIZE

函数与方法命名

函数名通常使用 snake_case(全小写,下划线连接),例如 str_replace()get_user_data()。而类的方法名更普遍地采用 camelCase(),例如 $user->getProfile()。PSR标准建议方法使用 camelCase

类与接口命名

必须使用 PascalCase(大驼峰式或StudlyCaps),即每个单词首字母大写。例如 class UserRepositoryinterface LoggerInterface。这是PHP社区广泛遵循的核心规范。

文件名与自动加载

当遵循PSR-4等自动加载标准时,类文件名应与类名严格对应,采用 PascalCase,并以 .php 结尾。例如类 MyNamespace\MyClass 应位于文件 MyClass.php 中。对于非类的脚本文件,习惯上使用 snake_case,如 config_helper.php