PHP 7.4.0新特性,一起看看有哪些

2022-10-11 20:59:02 173 0
魁首哥

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

1.Typed Properties 类型属性

PHP 7.4.0新特性,一起看看有哪些

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

class User {

public int $id;

public string $name;

}

?>

2.Arrow Functions 箭头函数

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

$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);

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

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

class A {}

class B extends A {}

class Producer {

public function method(): A {}

}

class ChildProducer extends Producer {

public function method(): B {}

}

?>

4.Unpacking Inside Arrays 打包内部数组

$parts = [‘apple’, ‘ pear ‘];

$fruits = [‘banana’, ‘orange’, …$parts, ‘watermelon’];

// [‘banana’, ‘orange’, ‘apple’, ‘pear’, ‘watermelon’];

?>

5.Numeric Literal Separator 数值文字分隔符

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

6.674_083e-11; // float

299_792_458; // decimal

0xCAFE_F00D; // hexadecimal

0b0101_1111; // binary

?>

6.Weak References 弱引用

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

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

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

8.Opcache Preloading Opcache 预加载

新增 Opcache 预加载支持。

收藏
分享
海报
0 条评论
173
上一篇:世界欠我一个初恋何遇姚晴是一对吗(何遇姚晴结局在没在一起) 下一篇:3分钟短文:Laravel用户自定义命令行简明教程

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码