PHP 8,PHP 的一个新的大版本,预计将于2020年12月3日发布,这意味着将不会有 PHP 7.5 版本。PHP8目前正处于非常活跃的开发阶段,所以在接下来的几个月里,情况可能会发生很大的变化。

在这篇文章中,我会维持一个最新的清单列表,列出预计会出现的新特性、性能提升和突破性的变化。由于 PHP 8 是一个新的大版本,因此您的代码被破坏的可能性更高。如果您始终保持运行 PHP 的最新版本,那么升级相对来说就会轻松很多,因为在7. *版本中,大多数重大更改均已弃用。

除重大更改外,PHP 8还带来了一些不错的新功能,比如说 JIT编译器, 联合类型, 属性,以及更多。

几个关键点:

Opcache会做opcode层面的优化,比如图中的俩条opcode合并为一条
PHP8的JIT目前是在Opcache之中提供的
JIT在Opcache优化之后的基础上,结合Runtime的信息再次优化,直接生成机器码
JIT不是原来Opcache优化的替代,是增强
目前PHP8只支持x86架构的CPU
事实上JIT共用了很多原来Opcache做优化的基础数据结构,比如data flow graph, call graph, SSA等

PHP 8 Beta 2 已经发布,自从进入 Beta 阶段,PHP 8 已进入特性冻结期,不会有特性上的变更。

此版本修复了一个 SPL bug:由于缺少 zend_restore_error_handling() 而导致 SplFileInfo 中的内存泄漏。

PHP 8 具体的发布周期如下:

https://wiki.php.net/todo/php80

其中,删除了 RC6 使计划与其它活跃分支的发布保持一致。也可以看到,下一个版本 Beta 3 计划于 9 月 3 日发布,8.0.0 正式 GA 日期为 11 月 26 日。

需要注意的是,Beta 阶段的版本不适合用于生产中。

PHP 8 是一个新的主要版本,它引入了一些重大变更,以及许多新特性和性能改进,包括期待已久的 JIT、Union Types、Attributes 与 WeakMap 等,具体可以查看此前的报导:https://www.oschina.net/news/116719/php-8-0-0-alpha-1-released

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。