网页
综合
更新时间 2026-11-13 17:11:12
PHP: PHP 8.5 Release Announcement
自动蜘蛛
www.php.net
正文约 1357 字
PHP 8.5 是 PHP 语言的一次重大更新,新增了 URI 扩展、管道操作符,以及对克隆时修改属性的支持。
PHP 8.5 增加了内置的 URI 扩展,用于按照 RFC 3986 和 WHATWG URL 标准解析、规范化和处理 URL。
|> 操作符允许从左到右连接可调用项,让数值在多个函数间顺畅传递,无需中间变量。
使用新的 clone() 语法可以克隆对象并更新属性,让 readonly 类的 "with-er" 模式变得简单。
#[\NoDiscard] 属性会在返回值未被使用时发出警告,有助于避免错误,提高 API 安全性。
静态闭包和 First-class 可调用现在可以用于常量表达式,例如属性参数。
句柄现在可以在多个 PHP 请求之间保持,不再需要重复初始化到同一主机的连接。
全新的、始终可用的 URI 扩展提供了一组 API,可根据 RFC 3986 和 WHATWG URL 标准安全地解析和修改 URI 与 URL。
由 uriparser(RFC 3986)和 Lexbor(WHATWG URL)库驱动。
在 The PHP Foundation 的博客中了解更多背景。
管道操作符允许将多个函数调用串联起来,而无需处理中间变量。它可以将许多“嵌套调用”替换成从左到右可读的链式结构。
在 The PHP Foundation 的博客中了解该特性的更多背景。
现在可以在对象克隆时通过向 clone() 传递关联数组来更新属性。这让 readonly 类的 with-er 模式变得简单明了。
为函数添加 #[\NoDiscard] 属性后,PHP 会检查返回值是否被使用,若未使用则发出警告。这样可以提高 API 的安全性,避免关键返回值被忽略。
可以使用 (void) 来显式表示“我就是不使用这个结果”。
静态闭包和 First-class 可调用现在可以用于常量表达式,包括属性参数、属性和参数默认值以及常量等。
与 curl_share_init() 不同,由 curl_share_init_persistent() 创建的句柄在请求结束时不会销毁。如果发现具有相同共享选项的持久化句柄,将会复用,从而避免每次初始化 cURL 句柄的开销。
array_first() 与 array_last() 分别返回数组的第一个或最后一个值。若数组为空,则返回 null(方便与 ?? 操作符组合)。
完整的变更列表记录在 ChangeLog 中。
如需查看详细的新特性与兼容性变更,请查阅迁移指南。
PHP is developed and maintained by a global community of contributors. The PHP Foundation helps fund this work. If PHP is part of your business or projects, consider sponsoring the Foundation.
Copyright © 2001-2026 The PHP Group.
Created as part of The PHP Foundation Design Contest.
本页为82搜索生成的网页快照,内容来自站内索引;演示数据的原文链接仅作示例。