PHP 8.5版本正式发布:引入管道操作符和URI解析工具

PHP 8.5正式发布,引入了期待已久的管道操作符和符合标准的URI解析器。管道操作符支持函数调用链式操作,让代码更具可读性,避免冗余变量和嵌套语句。新增的URI扩展基于RFC 3986和WHATWG URL标准,为开发者提供标准化的URI解析功能。此外还包括Clone With属性更新、NoDiscard属性警告等特性。

PHP 8.5版本于周四正式发布,这次更新带来了期待已久的管道操作符和符合标准的全新URI解析器,标志着这一脚本语言的重大更新。

PHP最初由Rasmus Lerdorf于1995年发布时代表"Personal Home Page",现在则表示"PHP: Hypertext Preprocessor"。8.5版本是继一年前发布的8.4版本之后的又一重要里程碑,带来了多项实用的新功能。

管道操作符的重大突破

此次更新中最重要的特性是管道操作符的加入。PHP-FIG(框架互操作组)核心委员会成员Larry Garfield在7月份表示:"我认为说管道操作符是近期内性价比最高的功能之一并不过分,它与构造函数属性提升等优秀特性并驾齐驱。"

管道操作符允许函数调用进行链式连接,避免了额外变量和嵌套语句的使用。相比其他实现序列操作的方式,管道操作符让代码更加易读。熟悉Unix/Linux命令行或R、F#、Clojure、Elixir等编程语言的开发者可能已经使用过管道操作符。在JavaScript中,虽然管道操作符仍在提案阶段,但已有方法链等替代方案。

全新URI扩展功能

另一个重要更新是URI扩展,它允许开发者基于RFC 3986和WHATWG URL标准解析和修改URI及URL。对于面向Web的应用程序来说,解析URI和URL(读取并将其分解为不同部分)是相当常见的任务。

然而,PHP之前的版本在标准库中并未包含符合标准的解析器。软件开发者Tim Düsterhus指出,可追溯到PHP 4的parse_url()函数并不遵循任何标准,并附带警告不应用于不受信任或格式错误的URL。

其他重要更新

此次版本还包含其他值得关注的语言改进:Clone With功能用于更高效地更新属性;#[\NoDiscard]属性在返回值未被使用时发出警告;在常量表达式中使用静态闭包和一等可调用对象的能力;以及可在多个PHP请求间共享的持久cURL句柄。

PHP代码通常依赖于在Web服务器上运行的解释器(如Zend引擎),而不是编译成二进制文件。它可以与数据库等第三方工具接口,并以HTML或其他语言输出动态生成的Web内容。

PHP是WordPress的基础,WordPress占据了约43%的网站份额,同时也是Laravel Web应用开发框架的基础。关于其受欢迎程度,根据不同的JetBrains调查结果,PHP要么在衰落,要么保持稳定。目前在Tiobe编程语言指数中排名第16位,相比一年前的第12位有所下降。

Q&A

Q1:PHP 8.5的管道操作符有什么作用?

A:管道操作符允许函数调用进行链式连接,避免了额外变量和嵌套语句的使用,使代码更加易读。它能让开发者以更清晰的方式实现序列操作,被认为是近期内性价比最高的功能之一。

Q2:PHP 8.5新增的URI扩展解决了什么问题?

A:新的URI扩展基于RFC 3986和WHATWG URL标准,提供了符合标准的URI和URL解析功能。这解决了之前版本中parse_url()函数不遵循标准且不适用于不受信任URL的问题。

Q3:PHP目前的市场地位如何?

A:PHP是WordPress的基础,占据约43%的网站份额,也是Laravel框架的基础。但其受欢迎程度存在争议,在Tiobe编程语言指数中目前排名第16位,相比去年的第12位有所下降。

来源:The Register

0赞

好文章,需要你的鼓励

2025

11/21

08:27

分享

点赞

邮件订阅