PHP 8.1 发布
发布于 作者: Paul Redmond
PHP 团队宣布昨日发布 PHP 8.1
🥳 PHP 8.1 发布了!
— php.net (@official_php) 2021 年 11 月 25 日
🔗 阅读所有相关信息:https://t.co/ToeHc3YGau
♻️ 迁移指南:https://t.co/BVVZ7lSXd1
🐘 非常感谢贡献者们实现的所有功能,以及将这个令人惊叹的新版本发布的发布经理们!
❓ 你最喜欢的全新功能是什么?
根据公告,以下是 PHP 8.1 的主要功能列表:
- 枚举
- 只读属性
- 纤程
- 纯交集类型
- never 返回类型
- 一等函数语法
- 类常量的 "final" 修饰符
- 新的 fsync 和 fdatasync 函数
- 新的 array_is_list 函数
- 显式 八进制数值符号
- 以及更多...
枚举
PHP 8.1 本机支持枚举(Enums),提供了一个 丰富的 API 用于定义和操作枚举。
enum Status{ case Draft; case Published; case Archived;}function acceptStatus(Status $status) {...}
只读属性
只读属性在初始化后无法更改。您可以确信您的数据类是一致的。PHP 8.1 可以通过定义作者不打算更改的公共属性来减少样板代码,而不是通过 "getter" 方法访问的私有属性。
class BlogData{ public readonly Status $status; public function __construct(Status $status) { $this->status = $status; }}
交集类型
当需要同时满足多个约束时,可以使用交集类型。
function count_and_iterate(Iterator&Countable $value) { foreach ($value as $val) { echo $val; } count($value);}
一等函数语法
您可以通过调用可调用对象并传递 ...
来从可调用对象创建闭包。
function add(int $a, int $b) { // ...} $add = add(...);$add(1, 5);$add(5, 3);
以及更多...
要快速了解这些新功能,请查看 PHP 8.1.0 发布公告 页面,了解 PHP 8.1 之前和之后的示例,以及性能改进。