首页 行业 最新信息 查看内容

PHP 7.4.0 发布

2019-11-30 12:17| 发布者: | 查看: 141| 评论: 0

摘要:   PHP 7.4.0 发布了,此版本标志着 PHP 7 系列的第四次特性更新。  PHP 7.4.0 进行了许多改进,并带来了一些新特性,包括:  Typed Properties 类型属性  类属性现在支持类型声明,以下示例将强制 $User- id ...

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

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

  Typed Properties  类型属性

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

<?phpclass 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  有限返回类型协变与参数类型逆变

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

<?phpclass 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  数值文字分隔符

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

<?php6.674_083e-11; // float299_792_458;   // decimal0xCAFE_F00D;   // hexadecimal0b0101_1111;   // binary?>

  Weak References  弱引用

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

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

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

  Opcache Preloading  Opcache 预加载

  新增 Opcache 预加载支持。

  此外还有一些弃用,以及从核心中删除一些扩展,详情查看:


鲜花

握手

雷人

路过

鸡蛋
毒镜头:老镜头、摄影器材资料库、老镜头样片、摄影
爱评测 aipingce.com  
返回顶部