2019 年 11 月 28 日,PHP 开发团队宣布将立即提供 PHP 7.4.0,此版本标志着 PHP 7 系列的第四项功能更新。

PHP 7.4.0 进行了许多改进和新功能,比如:

  • 箭头函数
  • 预加载
  • 类型属性
  • FFI
  • 简化 Null 合并运算符
  • ……

下面我们来具体看一下

箭头函数

箭头函数也称之为短闭包,可实现更简洁的单行书写

以前这么写

array_map(function (User $user) {
    return $user->id;
}, $users)

现在这么写

array_map(fn(User $user) => $user->id, $users)

你可以在此处深入了解它们。

类型属性

类中的类属性可以提示类型

class A
{
    public string $name;

    public ?Foo $foo;
}

你可以在此处深入了解它们。

Null 合并运算符

不再需要这样做:

$data['date'] = $data['date'] ?? new DateTime();

你可以这样做:

$data['date'] ??= new DateTime();

数组扩展运算符

现在你可以在数组中使用展开运算符:

$arrayA = [1, 2, 3];

$arrayB = [4, 5];

$result = [0, ...$arrayA, ...$arrayB, 6 ,7];

// [0, 1, 2, 3, 4, 5, 6, 7]

FFI

外部函数接口,简称 FFI,允许从用户区调用 C 代码。这意味着 PHP 扩展可以用纯 PHP 编写并通过 composer 加载。

预加载

预加载是可以带来一些显著的性能改进。预加载允许服务器在启动时于内存中加载 PHP 文件,并使它们持久化可用于所有后续请求(只要不停电)。

性能提升当然需要付出代价:如果预加载文件的源文件发生变化,则必须重启服务。

你可以在此处深入了解它们。

自定义对象序列化

添加了两个新的魔术方法:__serialize 和__unserialize

以上为部分更新内容仅供参考,详情请查看 PHP 的 UPGRADINGChangeLog

 
12-25 01:47