PHP 8.0 已经正式发布

8.0 是 PHP 语言的一个主版本更新。它包含了很多新功能与优化项, 包括命名参数、联合类型、注解、构造器属性提升、match 表达式、nullsafe 运算符、JIT,并改进了类型系统、错误处理、语法一致性。

即时编译

PHP 8 引入了两个即时编译引擎。 Tracing JIT 在两个中更有潜力,它在综合基准测试中显示了三倍的性能, 并在某些长时间运行的程序中显示了 1.5-2 倍的性能改进。 典型的应用性能则和 PHP 7.4 不相上下。

关于 JIT 对 PHP 8 性能的贡献:

PHP 8.0 已经正式发布
JIT 对 PHP 8 性能的贡献 – 测试结果来自PHP.net

新的类、接口、函数

  • Weak Map类
  • Stringable接口
  • str_contains()、str_starts_with()、str_ends_with()
  • fdiv()
  • get_debug_type()
  • get_resource_id()
  • token_get_all()对象实现

类型系统与错误处理的改进

  • 算术/位运算符更严格的类型检测RFC
  • Abstract trait 方法的验证RFC
  • 确保魔术方法签名正确RFC
  • PHP 引擎 warning 警告的重新分类RFC
  • 不兼容的方法签名导致 Fatal 错误RFC
  • 操作符 @ 不再抑制 fatal 错误。
  • 私有方法继承RFC
  • Mixed 类型RFC
  • Static 返回类型RFC
  • 内部函数的类型Email thread
  • 扩展Curl、Gd、Sockets、OpenSSL、XMLWriter、XML以 Opaque 对象替换 resource。

其他语法调整和改进

  • 允许参数列表中的末尾逗号RFC、 闭包 use 列表中的末尾逗号RFC
  • 无变量捕获的 catchRFC
  • 变量语法的调整RFC
  • Namespace 名称作为单个 tokenRFC
  • 现在 throw 是一个表达式RFC
  • 允许对象的 ::classRFC

原文地址:https://www.zhanzhangb.com/1373.html

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