PHP历经30年持续进化:新增管道操作符并考虑引入泛型

科技品牌 2025-08-11 irfjbf51212

PHP团队正考虑为该语言添加泛型的部分实现,已确认管道操作符将在即将发布的8.5版本中推出,并正式将FrankenPHP应用服务器纳入PHP基金会。

PHP最初代表"Personal Home Page",由发明者Rasmus Lerdorf于1995年6月首次发布。30年后的今天,PHP的使用量仍在增长,为超过70%使用服务器端编程的网站提供支持(主要归功于WordPress和其他内容管理系统),该语言正在获得重要的新功能。

上个月,PHP基金会报告了PHP 8.5中管道操作符的引入,预计将在11月发布。该操作符用|>表示,将左侧的值传递给右侧函数作为参数。这种操作可以链式调用形成管道,实现更简洁且比嵌套括号更易读的编程方式。PHP 8.5中的管道操作符类似于F#中的实现。

根据PHP-FIG(框架互操作组)核心委员会成员Larry Garfield的文章,管道操作符的工作可能还会启用部分函数应用,这是F#等函数式编程语言中的另一个常见特性。

最新消息显示,编译时泛型正在考虑中,不过仅限于接口和抽象类,团队正在向社区征求反馈。到目前为止,社区反响不一,一个获得高赞的评论认为,泛型的部分实现意味着"PHP将永远被困在一个半成品功能中,可以说甚至无法覆盖50%的使用场景"。

目前已经可以使用PHPStan或Psalm来模拟泛型,这些广泛使用的静态分析工具支持模板注解。

PHP的另一个最新发展是FrankenPHP应用服务器已被支持PHP开发的PHP基金会采纳,现在是GitHub上官方PHP组织的一部分。FrankenPHP用Go编写,将PHP执行器与Caddy Web服务器结合,为PHP应用程序实现更好的性能,同时具备Caddy的优势,如自动TLS证书。

PHP最初的成功源于其作为动态类型语言的简洁性,以及每个网络主机都提供PHP支持的事实,使其成为爱好者和小企业开发者的最爱。PHP仍然可以以不规范的方式使用,但现代PHP已添加了诸如不断改进的严格类型和JIT(即时编译)编译器等功能,后者自2020年的PHP 8.0起可用。

根据最近的StackOverflow调查,PHP的整体使用率为18.9%,专业开发者中为19.1%,较去年同期略有上升。最受欢迎的PHP框架(除WordPress外)是Laravel,使用率为8.9%(所有技术中),高于2024年的7.9%。

PHP仍然不是最优雅的语言,它面临的问题是许多网站使用旧版本:据w3techs统计,48.1%的网站仍在使用PHP 7,超过10%使用PHP 5,而PHP 5的支持在6年前就已结束,尽管我们推测这些网站中许多都很小或已被废弃。

尽管如此,就像Ruby on Rails和基于Python的Web框架一样,PHP可能正从对"JavaScript或TypeScript无处不在"理念感到失望的开发者中受益。

Q&A

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

A:管道操作符用|>表示,将左侧的值传递给右侧函数作为参数。这种操作可以链式调用形成管道,实现更简洁且比嵌套括号更易读的编程方式,类似于F#中的实现。

Q2:PHP为什么考虑引入泛型功能?社区反应如何?

A:PHP团队正考虑添加编译时泛型,但仅限于接口和抽象类。社区反响不一,有评论认为部分实现意味着PHP将被困在半成品功能中,无法覆盖50%的使用场景。

Q3:FrankenPHP是什么?它有什么优势?

A:FrankenPHP是已被PHP基金会采纳的应用服务器,用Go编写,将PHP执行器与Caddy Web服务器结合,为PHP应用程序实现更好的性能,同时具备自动TLS证书等Caddy优势。

来源:至顶网
The End
免责声明:本文内容来源于第三方或整理自互联网,本站仅提供展示,不拥有所有权,不代表本站观点立场,也不构成任何其他建议,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容,不承担相关法律责任。如发现本站文章、图片等内容有涉及版权/违法违规或其他不适合的内容, 请及时联系我们进行处理。

Copyright © 2099 酷搜科技 版权所有 中华人民共和国增值电信业务经营许可证号:苏B2-20221286

苏ICP备2022030477号-10 |——:合作/投稿联系微信:nvshen2168

|—— TXT地图 | 网站地图 |