PHP8.1来了,php8.1发布于2021年11月25日

2023-06-01 00:00:00 发布 来了 php8

PHP 团队昨天宣布发布 PHP 8.1:

PHP 8.1 发布了!
阅读所有相关信息:https://t.co/ToeHc3YGau
迁移指南:https://t.co/BVVZ7lSXd1
非常感谢贡献者所做的一切,感谢 RM 发布这个惊人的新版本!

您最喜欢的新功能是什么?

— php.net (@official_php) 

https://twitter.com/official_php/status/1463943033234276360?ref_src=twsrc%5Etfw

2021 年 11 月 25 日

根据公告,以下是 PHP 8.1 的主要功能列表:

枚举
只读属性
纤维
纯交集类型
从不返回类型
一流的可调用语法
类常量的“final”修饰符
新的 fsync 和 fdatasync 函数
新的 array_is_list 函数
显式八进制数字表示法
还有更多……
枚举


PHP 8.1 原生支持枚举(Enums),提供了丰富的 api 来定义和使用枚举:

https://www.php.net/manual/en/language.enumerations.php
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 发布公告页面,

https://www.php.net/releases/8.1/en.php

了解 PHP 8.1 之前/之后的示例以及性能改进。

相关文章