PHP 进阶:三个提升代码质量的实用技巧
在 PHP 开发中,写出能运行的代码只是第一步,写出优雅、健壮、易维护的代码才是我们的追求。今天分享三个能显著提升代码质量的实用技巧。
1. 善用类型声明,让错误无处遁形
PHP 7 以来,类型声明越来越强大。不要只在文档里写 @param,直接在函数签名中声明类型:
// 不推荐
function calculatePrice($items, $discount) {
// 没人知道参数该是什么类型
}
// 推荐
function calculatePrice(array $items, float $discount): float {
return array_sum($items) * (1 - $discount);
}
配合 declare(strict_types=1); 使用,PHP 会强制检查类型,提前拦截大量因类型混淆引发的 bug。
2. 拥抱数组解构,告别 list()
处理数组时,PHP 7.1+ 支持了对称数组解构,让代码更简洁:
// 旧写法
list($name, $age) = $user;
// 新写法
[$name, $age] = $user;
// 甚至可以快速交换变量
[$a, $b] = [$b, $a];
对于关联数组,配合 extract() 要谨慎(容易污染变量空间),直接解构更清晰。
3. 使用 match 表达式替代冗长的 switch
PHP 8.0 引入的 match 表达式不仅更简洁,还是返回值而非执行代码块,并且支持严格比较:
// switch 写法
switch ($status) {
case 200:
$message = 'OK';
break;
case 404:
$message = 'Not Found';
break;
default:
$message = 'Unknown';
}
// match 写法
$message = match($status) {
200 => 'OK',
404 => 'Not Found',
default => 'Unknown',
};
match 无需写 break,且当没有匹配项且无 default 时会抛出 UnhandledMatchError,让遗漏分支更容易被发现。
写在最后
PHP 语言本身在飞速演进,保持对新特性的关注,并合理运用到项目中,能让你的代码更现代、更可靠。以上三个技巧不妨从下一个 PR 就开始尝试起来。
你的代码风格,就是你作为工程师的名片。