PHP 7.4 新特性

栏目: PHP · 发布时间: 7年前

内容简介:PHP7.4 新增加了一些非常给力的新特性。在未来很长一段时间内,这无疑是一个非常重大的版本升级。PHP 7.4可能会在2019年12月发布。此页面将同时定期更新。预加载是PHP核心的一个惊人的补充,可以带来一些重大的性能改进。

PHP 7.4 新特性

PHP7.4 新增加了一些非常给力的新特性。在未来很长一段时间内,这无疑是一个非常重大的版本升级。

PHP 7.4可能会在2019年12月发布。此页面将同时定期更新。

预加载

预加载是 PHP 核心的一个惊人的补充,可以带来一些重大的性能改进。

简而言之:如果您今天使用的是框架,则必须在每次请求时加载和重新编译其文件。预加载允许服务器在启动时在内存中加载PHP文件,并使它们永久可用于所有后续请求。

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

此特性可以大幅提升IO性能,性能提升约30-50%,甚至更高。

类属性类型声明

类变量可以加类型提示:

class A
{
    public string $name;
    
    public Foo $foo;
}

此RFC已被接受,并在PHP7.4 中实施。

协变返回和逆变参数  

我以前写过PHP的类型系统,所以很高兴看到一些改进实际上是在PHP的核心。

类型变化 简而言之:你将能够使用协变返回类型……

class ParentType {}
class ChildType extends ParentType {}

class A
{
    public function covariantReturnTypes(): ParentType
    { /* … */ }
}

class B extends A
{
    public function covariantReturnTypes(): ChildType
    { /* … */ }
}

……和逆变参数。

class A
{
    public function contraVariantArguments(ChildType $type)
    { /* … */ }
}

class B extends A
{
    public function contraVariantArguments(ParentType $type)
    { /* … */ }
}

空融合赋值运算符

代替如下写法:

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

你可以这样做:

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

此RFC已被接受,但尚未合并; 我们尚未100%确定它最终是否在PHP 7.4实施。

外部函数接口

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

应该指出,这是一个复杂的主题。您仍然需要C知识才能正确使用此功能。

现在终于能在PHP程序中写 C语言 了!!!

hash扩展始终启用

正如标题所说,这个扩展现在可以在所有PHP安装中永久使用。


以上所述就是小编给大家介绍的《PHP 7.4 新特性》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员修炼之道

程序员修炼之道

Andrew Hunt、David Thomas / 马维达 / 电子工业出版社 / 2005-1 / 48.00元

《程序员修炼之道》由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。利用许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读。一起来看看 《程序员修炼之道》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换