PHP 7.4 新特性

PHP 7.4 新特性

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

PHP 7.4可能会在2019年12月发布。此页面将同时定期更新。最后更新时间:2019.1.23.

预加载 

预加载是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();

更新 2019.1.23: 此功能现在合并到 了php 7.4 中。

 

外部函数接口

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

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

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

hash扩展始终启用

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

 

原创文章,转载请注明:来自Lenix博客。地址http://blog.p2hp.com/archives/5623

PHP 7.4 新特性
标签:     

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*