匿名类现在可以标记为 readonly。
只读属性现在可以在克隆时重新初始化。
类、接口、trait 和 enum 常量现在支持类型声明。
从魔术方法中创建的闭包现在接受命名参数。
final 修饰符现在可以用于 trait 中的方法。
新增 #[\Override] 注解用于检测方法是否在父类中存在或实现了接口。
类常量现在可以使用 C::{$name}
语法动态访问。
静态变量初始化现在可以包含任意表达式。
php.ini 现在支持后备/默认值语法。
<?php
/*
/path/to/user.ini 上包含下列设置:
listen = localhost:${DRUPAL_FPM_PORT:-9000}
*/
$user_ini = parse_ini_file('/path/to/user.ini');
echo $user_ini['listen']; // localhost:9000
现在可以对多个文件进行 lint。
添加属性 DOMElement::$className 和 DOMElement::$id。由于 libxml2 底层限制,这些属性目前并非二进制安全。这意味着属性值将在 NUL 字节处截断。
添加属性 DOMNode::$isConnected 和 DOMNameSpaceNode::$isConnected。
添加属性 DOMNode::$parentElement 和 DOMNameSpaceNode::$parentElement。
现在可以将 FFI\CData 分配给其它 FFI\CData。这意味着现在可以将 CData 分配给结构和字段。
opcache_get_status()['scripts'][n]['revalidate']
现在包含 Unix 时间戳,表示下一次重新验证脚本时间戳的时间,由
opcache.revalidate_freq INI 指令指定。
posix_getrlimit() 现在接受可选的
$resource
参数用于获取单个资源限制。
posix_isatty() 按照通用的 ZPP 语义现在对整数将引发类型警告。
posix_isposix_ttynameatty() 按照通用的 ZPP 语义现在对整数将引发类型警告,并针对无效整数文件描述符引发值警告。
Streams 现在可以发出 STREAM_NOTIFY_COMPLETED
通知。之前没有实现过。