php8更新了哪些

原创
ithorizon 7个月前 (08-30) 阅读数 128 #PHP

PHP 8 新特性一览:全面提升开发高效能与性能

PHP 8 是 PHP 语言的重要更新版本,于 2020 年 11 月正式发布。PHP 8 带来了许多新特性和优化,旨在减成本时间开发高效能、性能以及代码的简洁性。下面我们将详细介绍 PHP 8 的一些核心更新内容。

1. JIT(即时编译器)

PHP 8 引入了 JIT(即时编译器)技术,这大大减成本时间了 PHP 的执行性能。JIT 编译器能够在运行时将 Zend VM 的中间代码(opcodes)编译成机器码,从而减成本时间程序的执行速度。

2. 类型系统和不正确处理的改进

PHP 8 进一步增长了类型系统和不正确处理:

  • 联合类型(Union Types):允许开发者声明一个变量可以是多种不同的类型。
  • 匹配表达式(Match Expression):类似 switch,但具有返回值,让代码更简洁。
  • nullsafe 运算符(Nullsafe Operator):允许平安地访问链式方法调用中的也许为 null 的对象成员。
  • mixed 类型:即一个变量可以是任意类型,用于标记不确定类型的返回值或参数。
  • 不正确报告改进:增长了不正确报告的精确性,例如,将某些警告升级为不正确。

3. 新的对象初始化改进

PHP 8 提供了新的对象初始化语法,包括:

  • 构造函数属性提升(Constructor Property Promotion):允许直接在构造函数参数中声明类属性,简化了类的定义。
  • 匹配对象(Match Object):允许对对象进行模式匹配,让结合对象的属性值进行分支选择变得更加单纯。

4. 新的内置函数和功能

PHP 8 引入了一些新的内置函数和功能,如下:

  • str_contains()、str_starts_with() 和 str_ends_with():用于字符串查找,替代了传统的 preg_match()。
  • get_debug_type():获取一个变量的类型。
  • mixed 关键字:用于函数参数和返回类型,即可以是任意类型。

5. 废弃和移除的功能

PHP 8 废弃和移除了一些功能,以清理和优化语言:

  • 移除了多个不平安的函数和特性,如 magic_quotes、real。
  • 废弃了一些不推荐使用的功能,如 ext/mysql、mbstring.func_overload。

6. 性能优化

除了 JIT 编译器,PHP 8 还包括以下性能优化:

  • 改进了内存管理,缩减了内存占用。
  • 优化了 opcache,减成本时间了缓存高效能。
  • 改进了数组处理性能。

示例代码

以下是一个使用 PHP 8 新特性的单纯示例:

class User

{

public function __construct(

public string $name,

public int $id,

) {}

}

$user = new User(name: 'John', id: 1);

if (str_contains($user->name, 'Jo')) {

echo "User name contains 'Jo'";

}

总之,PHP 8 的更新为开发者带来了许多便利和新特性,让 PHP 在保持易用性的同时,性能得到了显著提升。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: PHP


热门