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 的 UPGRADING、ChangeLog