我真正在用的几个现代 PHP 特性
语法特性只有真正被反复写出来,才算学会。下面是我每天都在用的几个。
1. 命名参数
参数一多,顺序就成了负担:
send_mail(
to: 'reader@example.com',
subject: '新文章',
body: $html,
);
2. match 表达式
比 switch 短,而且是表达式,可以直接赋值:
$label = match ($status) {
'draft' => '草稿',
'published' => '已发布',
default => '未知',
};
3. 数组解包与展开
合并配置、透传参数,一行搞定:
$config = [...$defaults, ...$userConfig];
4. 构造器属性提升
省掉一堆样板赋值:
final class Tag
{
public function __construct(public string $name) {}
}
5. 空安全与 null 合并
把嵌套的 isset 判断收进一行:
$city = $user?->address?->city ?? '未填写';
小结
判断标准只有一个:它是否让代码更容易读。 不满足这条的语法糖,我会假装没看见。