PHP 8.3 新特性速览:类型系统与只读类

2026-10-15 约 2 分钟读完 1.4k 次浏览 2 条评论

PHP 8.3 值得关注的几件事

只读类

final readonly class Point
{
    public function __construct(
        public float $x,
        public float $y,
    ) {}
}

只读类让值对象更难被意外修改,适合配置、DTO 与事件对象。

类型化类常量

常量终于可以带上类型,IDE 与静态分析能更早发现错误:

class Status
{
    public const string DRAFT = 'draft';
}

json_validate

以前校验 JSON 要先 json_decode 再检查错误码,现在有更轻量的方式:

if (!json_validate($payload)) {
    throw new RuntimeException('格式错误');
}

小结

新特性不追求“全用上”,而是在合适的位置减少样板代码。

相关文章

评论(2)

  • Kevin · 10-24
    只读类在我们的 DTO 层已经用上了,确实省心。
  • 小满 · 10-25
    json_validate 之前没注意,学到了。

发表评论