haodudecao 3年前

修改理由:

排版及原文丢失补充

此投稿已在 3年前 合并。

标题修改:

+ PHP 8.1 正式发布,来看下有哪些新功能

标签修改:

+

内容修改:

红色背景 为原始内容

绿色背景 为新增或者修改的内容

OldNewDifferences
22
33## 新特性
44
5 与每个版本一样,PHP8.1添加了一些不错的新特性。新特性会在每年的更新中越来越多。
 5与每个版本一样,PHP 8.1 添加了一些不错的新特性。新特性会在每年的更新中越来越多。
66
77### 枚举 RFC
88
 
4444
4545### Fibers RFC
4646
47 Fibers — 又叫 ["绿色线程"](https://en.wikipedia.org/wiki/Green_threads) — 是管理并行性的低级机制. 您可能不会直接在您的应用程序中使用它们,但框架和 ReactPHP 等框架将大量使用它们。
48 
49 这里有一个使用fibers的简单例子:
 47Fibers — 又叫 ["绿色线程"](https://en.wikipedia.org/wiki/Green_threads) — 是管理并行性的低级机制. 您可能不会直接在您的应用程序中使用它,但像 Amphp 和 ReactPHP 等框架将大量使用它们。
 48
 49这里有一个使用 fibers 的简单例子:
5050
5151```
5252$fiber = new Fiber(function (): void {
 
6060$fiber->resume('after resuming');
6161```
6262
63 如果您想读取更多关于fibers的信息, 它们能做什么,不能做什么, 你可以阅读 [这篇文章](https://stitcher.io/blog/fibers-with-a-grain-of-salt).
 63如果您想读取更多关于 fibers 的信息, 它们能做什么,不能做什么, 你可以阅读 [这篇文章](https://stitcher.io/blog/fibers-with-a-grain-of-salt).
6464
6565* * * * *
6666
 
9393
9494
9595
96 ### RFC的初始值设定项中出现`new`
 96### RFC的初始值设定项中出现 `new`
9797
9898此RFC允许您在函数定义中使用关键字 `new` 作为默认参数,也可以在属性参数等地方使用。
9999
 
109109
110110* * * * *
111111
112 ### 只读的rfc属性
 112### 只读的 rfc 属性
113113
114114类属性可以标记为只读,这意味着它们只能写入一次。
115115
 
132132Error: Cannot modify readonly property Post::$title
133133```
134134
135 如果您想深入了解有关只读属性的更多信息,可以阅读[我的后续文章](https://stitcher.io/blog/php-81-readonly-properties).
136 
137 * * * * *
138 
139 
140 
141 你想了解更多关于PHP 8.1吗?有[PHP 8.1之路](https://road-to-php.com/)。在接下来的十天里,你每天会收到邮件覆盖新的PHP 8.1和退出功能;之后你会自动unsubscribed所以没有垃圾邮件或跟踪。[现在就订阅!](https://road-to-php.com/)
 135如果您想深入了解有关只读属性的更多信息,可以阅读 [我的后续文章](https://stitcher.io/blog/php-81-readonly-properties).
 136
 137* * * * *
 138
 139
 140
 141你想了解更多关于PHP 8.1吗?有 [PHP 8.1之路](https://road-to-php.com/)。在接下来的十天里,你每天会收到邮件覆盖新的PHP 8.1和退出功能;之后你会自动unsubscribed 所以没有垃圾邮件或跟踪。[现在就订阅!](https://road-to-php.com/)
142142
143143### 一流的可调用语法RFC
144144
145 现在,您可以通过调用一个可调用对象并将其作为参数传递`…`,从该可调用对象生成闭包:
 145现在,您可以通过调用一个可调用对象并将其作为参数传递 `…`,从该可调用对象生成闭包:
146146
147147```
148148function foo(int $a, int $b) { /* … */ }
 
154154
155155* * * * *
156156
157 ### RFC中的纯交叉类型
 157### RFC 中的纯交叉类型
158158
159159您已经了解了[PHP 8.0中的Union类型](https://stitcher.io/blog/new-in-php-8#union-types-rfc), 和交叉类型是一个类似的功能。如果联合类型要求输入为给定类型之一,则交叉类型要求输入为所有指定类型。交叉类型在处理大量接口时特别有用:
160160