排版优化及原文丢失部分补充
修改理由:
此投稿已在 4年前 合并。
标题修改:
标签修改:
内容修改:
| Old | New | Differences |
|---|---|---|
| 2 | 2 | |
| 3 | 3 | ## 新特性 |
| 4 | 4 | |
| 5 | 与每个版本一样,PHP | |
| 5 | 与每个版本一样,PHP 8.1 添加了一些不错的新特性。新特性会在每年的更新中越来越多。 | |
| 6 | 6 | |
| 7 | 7 | ### 枚举 RFC |
| 8 | 8 | … | … |
| 44 | 44 | |
| 45 | 45 | ### Fibers RFC |
| 46 | 46 | |
| 47 | Fibers — 又叫 ["绿色线程"](https://en.wikipedia.org/wiki/Green_threads) — 是管理并行性的低级机制. 您可能不会直接在您的应用程序中使用它 | |
| 48 |
| |
| 49 | 这里有一个使用 | |
| 47 | Fibers — 又叫 ["绿色线程"](https://en.wikipedia.org/wiki/Green_threads) — 是管理并行性的低级机制. 您可能不会直接在您的应用程序中使用它,但像 Amphp 和 ReactPHP 等框架将大量使用它们。 | |
| 48 | ||
| 49 | 这里有一个使用 fibers 的简单例子: | |
| 50 | 50 | |
| 51 | 51 | ``` |
| 52 | 52 | $fiber = new Fiber(function (): void { | … | … |
| 60 | 60 | $fiber->resume('after resuming'); |
| 61 | 61 | ``` |
| 62 | 62 | |
| 63 | 如果您想读取更多关于 | |
| 63 | 如果您想读取更多关于 fibers 的信息, 它们能做什么,不能做什么, 你可以阅读 [这篇文章](https://stitcher.io/blog/fibers-with-a-grain-of-salt). | |
| 64 | 64 | |
| 65 | 65 | * * * * * |
| 66 | 66 | … | … |
| 93 | 93 | |
| 94 | 94 | |
| 95 | 95 | |
| 96 | ### RFC的初始值设定项中出现 | |
| 96 | ### RFC的初始值设定项中出现 `new` | |
| 97 | 97 | |
| 98 | 98 | 此RFC允许您在函数定义中使用关键字 `new` 作为默认参数,也可以在属性参数等地方使用。 |
| 99 | 99 | … | … |
| 109 | 109 | |
| 110 | 110 | * * * * * |
| 111 | 111 | |
| 112 | ### 只读的 | |
| 112 | ### 只读的 rfc 属性 | |
| 113 | 113 | |
| 114 | 114 | 类属性可以标记为只读,这意味着它们只能写入一次。 |
| 115 | 115 | … | … |
| 132 | 132 | Error: Cannot modify readonly property Post::$title |
| 133 | 133 | ``` |
| 134 | 134 | |
| 135 | 如果您想深入了解有关只读属性的更多信息,可以阅读 | |
| 136 |
| |
| 137 | * * * * *
| |
| 138 |
| |
| 139 |
| |
| 140 |
| |
| 141 | 你想了解更多关于PHP 8.1吗?有 | |
| 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/) | |
| 142 | 142 | |
| 143 | 143 | ### 一流的可调用语法RFC |
| 144 | 144 | |
| 145 | 现在,您可以通过调用一个可调用对象并将其作为参数传递 | |
| 145 | 现在,您可以通过调用一个可调用对象并将其作为参数传递 `…`,从该可调用对象生成闭包: | |
| 146 | 146 | |
| 147 | 147 | ``` |
| 148 | 148 | function foo(int $a, int $b) { /* … */ } | … | … |
| 154 | 154 | |
| 155 | 155 | * * * * * |
| 156 | 156 | |
| 157 | ### RFC | |
| 157 | ### RFC 中的纯交叉类型 | |
| 158 | 158 | |
| 159 | 159 | 您已经了解了[PHP 8.0中的Union类型](https://stitcher.io/blog/new-in-php-8#union-types-rfc), 和交叉类型是一个类似的功能。如果联合类型要求输入为给定类型之一,则交叉类型要求输入为所有指定类型。交叉类型在处理大量接口时特别有用: |
| 160 | 160 |
关于 LearnKu