当大多数人的 Linux 发行版的默认包中还没有升级到 PHP 8.0,更不用说在生产环境中了,PHP 8.1 正在开发中,预计正式发布时间在 11 月底左右。日程安排和大多数年份一样,在连续发布三个双周的 Alpha 版本之后,PHP 8.1 功能冻结预计在七月底,然后再进入测试版,然后是许多候选版本。
如果一切顺利,PHP 8.1.0 将在 11 月 25 日发布。至于 PHP 8.1 将会带来什么,到目前为止,已知的变化包括:
- Enums 将被引入。PHP 终于在语言中引入了枚举。关于新增的细节可以通过这个 RFC 找到:https://wiki.php.net/rfc/enumerations
- PHP 8.1 引入了 fsync () 函数,以帮助确保操作系统已经将数据变化(和 metdata)写入底层存储。还有一个新的 fdatasync ()函数只关注同步数据,而不是元数据--或者说在 Windows/非 POSIX 环境下的行为与 fsync ()相同。
- PHP 性能改进的工作继续进行,带来更多的优化。到目前为止,其中一个细节是 PHP 8.1 opcache 增加了一个继承缓存,这应该有助于减少 PHP 类继承的开销。
- 增加了对 "Fibers"的支持,以改善 PHP 中的异步支持。这些变化使得 PHP 函数现在可以在不污染调用栈的情况下完成中断,并且支持现有接口的透明非阻塞 I/O 实现。
- PHP 8.1 散列代码增加了 xxHash 和 MurmurHash V3 支持。
- 继续 PHP8 的工作,将更多的资源过渡到对象。对于 PHP 8.1,fileinfo、GD、FTP、IMAP、LDAP 和其他代码的资源将会被过渡到对象。
随着 11 月发布日期的临近,请继续关注 PHP 8.1 功能工作的更多细节。