PHP编写规范

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;
}

控制结构

控制结构关键字后应有一个空格,如ifelseforeach等:

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:静态分析工具
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值