前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP 7.4 中发布了哪些新特性

PHP 7.4 中发布了哪些新特性

原创
作者头像
用户7118204
修改2020-03-31 17:56:15
5740
修改2020-03-31 17:56:15
举报

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

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

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

下面我们来具体看一下

箭头函数

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

以前这么写

代码语言:javascript
复制
array_map(function (User $user) { 
    return $user->id; 
}, $users)

现在这么写

代码语言:javascript
复制
array_map(fn(User $user) => $user->id, $users)

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

类型属性

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

代码语言:javascript
复制
class A
{
    public string $name;
    
    public ?Foo $foo;
}

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

Null 合并运算符

不再需要这样做:

代码语言:javascript
复制
$data['date'] = $data['date'] ?? new DateTime();

你可以这样做:

代码语言:javascript
复制
$data['date'] ??= new DateTime();

数组扩展运算符

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

代码语言:javascript
复制
$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

沈唁志,一个PHPer的成长之路! 任何个人或团体,未经允许禁止转载本文:《PHP 7.4 中发布了哪些新特性》,谢谢合作!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 箭头函数
  • 类型属性
  • Null 合并运算符
  • 数组扩展运算符
  • FFI
  • 预加载
  • 自定义对象序列化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档