建设中 本站仍在建设中:文章会陆续补充,样式和链接也可能随时调整,感谢你的耐心。

我真正在用的几个现代 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 ?? '未填写';

小结

判断标准只有一个:它是否让代码更容易读。 不满足这条的语法糖,我会假装没看见。