PHP Conference Japan 2024

新特性

PHP核心

只读修订

匿名类现在可以标记为只读。

只读属性现在可以在克隆期间重新初始化。

类型化类常量

类、接口、trait 和枚举常量现在支持类型声明。

从魔术方法创建的闭包

从魔术方法创建的闭包现在可以接受命名参数。

trait 方法的 final 修饰符

在使用 trait 中的方法时,现在可以使用 final 修饰符。

Override 属性

添加了 #[\Override] 属性来检查方法是否存在于父类或已实现的接口中。

动态获取类常量语法

类常量现在可以使用 C::{$name} 语法动态访问。

静态变量初始化器

静态变量初始化器现在可以包含任意表达式。

ini 变量的回退值语法

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

CLI

现在可以 lint 多个文件。

DOM

添加了属性 DOMElement::$classNameDOMElement::$id。由于 libxml2 的底层限制,它们目前不是二进制安全的。这意味着属性值将在 NUL 字节处被截断。

添加了属性 DOMNode::$isConnectedDOMNameSpaceNode::$isConnected

添加了属性 DOMNode::$parentElementDOMNameSpaceNode::$parentElement

FFI

现在可以将 FFI\CData 分配给其他 FFI\CData。这意味着 CData 现在可以分配给结构体和字段。

Opcache

opcache_get_status()['scripts'][n]['revalidate'] 现在包含脚本时间戳下一次重新验证的 Unix 时间戳,由 opcache.revalidate_freq INI 指令决定。

POSIX

posix_getrlimit() 现在接受一个可选的 $resource 参数以允许获取单个资源限制。

posix_isatty() 现在对整数引发类型警告,遵循通常的 ZPP 语义。

posix_ttyname() 现在对整数引发类型警告,遵循通常的 ZPP 语义,并对无效的文件描述符整数引发值警告。

流现在可以发出 STREAM_NOTIFY_COMPLETED 通知。这以前未实现。

添加注释

用户贡献笔记

此页面没有用户贡献的笔记。
To Top