密云网站开发公众号开发网站公司
Typed Properties 类型属性
类属性现在支持类型声明,以下示例将强制 $User-> id 只能分配 int 值,而 $User-> name 只能分配 string 值。
Arrow Functions 箭头函数
箭头函数提供了用于定义具有隐式按值作用域绑定的函数的简写语法。
$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 有限返回类型协变与参数类型逆变
仅当使用自动加载时,才提供完全协变/逆变支持。在单个文件中,只能使用非循环类型引用,因为所有类在被引用之前都必须可用。
Unpacking Inside Arrays 打包内部数组
Numeric Literal Separator 数值文字分隔符
数字文字可以在数字之间包含下划线。
Weak References 弱引用
弱引用使程序员可以保留对对象的引用,不会阻止对象被销毁。
Allow Exceptions from __toString() 允许从 __toString() 抛出异常
现在允许从 __toString() 引发异常,以往这会导致致命错误,字符串转换中现有的可恢复致命错误已转换为 Error 异常。
Opcache Preloading Opcache 预加载
新增 Opcache 预加载支持。
核心:
修正了问题#76846 (Segfault在关机功能后内存限制错误)。
修正了错误#76946(循环参考在发电机没有检测到)。
修正了错误#77035 (phpize和./configure创建冗余.deps文件)。
固定错误#77041 (buildconf应该输出错误消息到stderr) (Mizunashi Mana)
日期:
将timelib升级到2017.08。
固定错误#75851(年组件溢出与日期格式“c”,“o”,“r”和“y”)。
修正了错误#77007(分数在’ diff() ’没有正确标准化)。
FCGI:
修正了错误#76948(失败的关机/重启或结束会话在Windows)。
修正了错误#76954 (apache_response_headers删除最后字符从标题名)。
FTP:
修正了错误#76972(数据截断由于强制ssl套接字关闭)。
intl:
修正了错误#76942 (u_argument_type_失配)。
反射:
修正了错误#76936(对象在处理反射错误时不能访问其私有属性)。
修正了问题#66430(反射函数::invoke不调用对象作用域的闭包)。
钠:
一些base64输出被截断;现在不是这样了。
sodium_pad()现在认为块大小>= 256字节,即使已经安装了旧版本的libna。
修复了错误#77008 (sodium_pad()可以读取(但不返回或写入)未初始化内存时,试图填充一个空的输入)。
标准:
修正了错误#76965 (INI_SCANNER_RAW没有去掉尾随空格)。
整洁:
修正了错误#77027 (tidy::getOptDoc()在Windows上不可用)。
XML:
修正了错误#30875 (xml_parse_into_struct()不解析实体)。
添加对获取SKIP_TAGSTART和SKIP_WHITE选项的支持。
XMLRPC:
修正了错误#75282 (xmlrpc_encode_request()崩溃)。