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 新特性》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Ajax Design Patterns

Ajax Design Patterns

Michael Mahemoff / O'Reilly Media / 2006-06-29 / USD 44.99

Ajax, or Asynchronous JavaScript and XML, exploded onto the scene in the spring of 2005 and remains the hottest story among web developers. With its rich combination of technologies, Ajax provides a s......一起来看看 《Ajax Design Patterns》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具