服务器之家

服务器之家 > 正文

PHP 7.4.0正式发布

时间:2019-12-01 21:44     来源/作者:开源中国

PHP 7.4.0发布了,此版本标志着PHP 7系列的第四次特性更新。

PHP 7.4.0进行了许多改进,并带来了一些新特性,包括:

Typed Properties类型属性

类属性现在支持类型声明,以下示例将强制$User-> id只能分配int值,而$User-> name只能分配string值。

<?php
class User {
    public int $id;
    public string $name; 
}
?>

Arrow Functions 箭头函数

箭头函数提供了用于定义具有隐式按值作用域绑定的函数的简写语法。

<?php
$factor = 10; 
$nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]);
// $nums = array(10, 20, 30, 40);
?>

将闭包传递给array_map或array_filter等函数时,它可以发挥极大的作用。

// A collection of Post objects $posts = [];
$ids = array_map(fn($post) => $post->id, $posts);

Limited Return Type Covariance and Argument Type Contravariance  有限返回类型协变与参数类型逆变

仅当使用自动加载时,才提供完全协变/逆变支持。在单个文件中,只能使用非循环类型引用,因为所有类在被引用之前都必须可用。

<?php
class A {}
class B extends A {}
class Producer {
    public function method(): A {}
 }
class ChildProducer extends Producer {
    public function method(): B {}
 }
?>

Unpacking Inside Arrays 打包内部数组

<?php
 $parts = ['apple', 'pear']; 
$fruits = ['banana', 'orange', ...$parts, 'watermelon'];
// ['banana', 'orange', 'apple', 'pear', 'watermelon'];
?>

Numeric Literal Separator  数值文字分隔符

数字文字可以在数字之间包含下划线。

<?php
6.674_083e-11; // float
299_792_458;   // decimal
0xCAFE_F00D;   // hexadecimal
0b0101_1111;   // binary
?>

Weak References 弱引用

弱引用使程序员可以保留对对象的引用,不会阻止对象被销毁。

Allow Exceptions from __toString() 允许从__toString()抛出异常

现在允许从__toString()引发异常,以往这会导致致命错误,字符串转换中现有的可恢复致命错误已转换为 Error 异常。

Opcache Preloading  Opcache预加载

新增Opcache预加载支持。

此外还有一些弃用,以及从核心中删除一些扩展。

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部