PHP编写规范概述
PHP编写规范是确保代码可读性、可维护性和一致性的重要准则。遵循规范有助于团队协作和项目长期发展。以下是常见的PHP编写规范要点:
基本代码风格
使用PSR-12(PHP Standard Recommendation)作为基础规范。PSR-12扩展自PSR-2,是现代PHP项目广泛采用的标准。
代码缩进使用4个空格而非制表符。每行代码长度建议不超过80个字符,最大不超过120个字符。
类的左花括号{应写在类声明后的新行,方法同理:
class ClassName
{
public function foo()
{
// 方法体
}
}
命名规范
类名采用大驼峰式(StudlyCaps)命名法:
class MyClassName {}
方法和函数名采用小驼峰式(camelCase)命名法:
public function myMethodName() {}
变量名采用小驼峰式命名法,避免使用下划线:
$myVariableName = 'value';
常量名全部大写,单词间用下划线分隔:
const MY_CONSTANT = 'value';
类型声明与返回值
尽可能使用类型声明(PHP 7.0+特性)。参数和返回值类型声明应一致:
public function calculate(int $a, int $b): int
{
return $a + $b;
}
允许null值时使用可空类型声明:
public function getName(): ?string
{
return $this->name;
}
控制结构
控制结构关键字后应有一个空格,如if、else、foreach等:
if ($condition) {
// 代码
} elseif ($otherCondition) {
// 代码
} else {
// 代码
}
循环结构类似:
foreach ($items as $item) {
// 代码
}
while ($condition) {
// 代码
}
命名空间与use语句
命名空间声明后必须跟一个空行,use声明后也必须跟一个空行:
namespace Vendor\Package;
use FooInterface;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;
注释规范
文档注释(DocBlocks)应遵循PHPDoc标准:
/**
* 计算两个数的和
*
* @param int $a 第一个数
* @param int $b 第二个数
* @return int 计算结果
*/
public function add(int $a, int $b): int
{
return $a + $b;
}
单行注释应在代码上方或右侧,与代码保持相同缩进:
// 这是一个单行注释
$var = 123; // 行尾注释
错误处理
使用异常而非错误抑制符@。捕获异常时应明确异常类型:
try {
// 可能抛出异常的代码
} catch (SpecificException $e) {
// 处理特定异常
} catch (Exception $e) {
// 处理通用异常
}
自动加载与依赖管理
遵循PSR-4自动加载规范。使用Composer管理依赖,项目结构应与命名空间匹配:
src/
Vendor/
Package/
ClassName.php
tests/
vendor/
composer.json
安全实践
对所有用户输入进行验证和过滤。使用预处理语句防止SQL注入:
$stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email');
$stmt->execute(['email' => $email]);
密码应使用PHP内置函数处理:
$hash = password_hash($password, PASSWORD_DEFAULT);
if (password_verify($inputPassword, $hash)) {
// 密码匹配
}
其他建议
避免使用全局变量和函数。优先使用依赖注入而非单例模式。保持函数和方法短小(建议不超过20行)。定期使用PHP_CodeSniffer等工具检查代码规范。
工具推荐
- PHP_CodeSniffer:检查代码是否符合规范
- PHP-CS-Fixer:自动修复代码风格问题
- PHPStan/PHPUnit:静态分析和单元测试
- Composer:依赖管理
- Psalm:静态分析工具
340

被折叠的 条评论
为什么被折叠?



