PHP 7.4.0 发布
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 预加载支持。
此外还有一些弃用,以及从核心中删除一些扩展,详情查看:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Redisson 3.11.6 发布,Redis 客户端
Redisson 3.11.6 发布了,Redisson 是架设在 Redis 基础上的一个 Java 驻内存数据网格 (In-Memory Data Grid) 。 Redisson 在基于 NIO 的 Netty 框架上,充分利用了 Redis 键值数据库提供的一系列优势,在 Java 实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。 更新内容如下: 特性 添加 RExecutorServiceAsync.cancelTaskAsync() 方法 添加 RExecutorService.hasTask()方法 添加 RExecutorService.getTaskCount()方法 RMap 写后队列应该是容错的 添加了对 RQueue、RDeque、RDelayedQueue 对象具有限制的 poll() 方法 将 checkSlotsCover...
- 下一篇
RubyMine 2019.3 发布,流行的 Ruby 开发工具
RubyMine 2019.3发布了,更新亮点如下: RuboCop 为 RuboCop 和 IDE 检查严重性配置映射 Rails 使用 Run Anything 运行 Rails 生成器和 Rake 任务 Code Style 通过初始接收者或前导点对齐方法链 Copyright 添加 Ruby 文件的版权声明 HTTP Client 在 .http 文件中使用动态变量 运行文件中的所有请求 发布公告:https://blog.jetbrains.com/ruby/2019/11/rubymine-2019-3-released/
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8编译安装MySQL8.0.19
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- MySQL8.0.19开启GTID主从同步CentOS8