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优势。
好文章,需要你的鼓励
很多人担心被AI取代,陷入无意义感。按照杨元庆的思路,其实无论是模型的打造者,还是模型的使用者,都不该把AI放在人的对立面。
MIT研究团队提出递归语言模型(RLM),通过将长文本存储在外部编程环境中,让AI能够编写代码来探索和分解文本,并递归调用自身处理子任务。该方法成功处理了比传统模型大两个数量级的文本长度,在多项长文本任务上显著优于现有方法,同时保持了相当的成本效率,为AI处理超长文本提供了全新解决方案。
谷歌宣布对Gmail进行重大升级,全面集成Gemini AI功能,将其转变为"个人主动式收件箱助手"。新功能包括AI收件箱视图,可按优先级自动分组邮件;"帮我快速了解"功能提供邮件活动摘要;扩展"帮我写邮件"工具至所有用户;支持复杂问题查询如"我的航班何时降落"。部分功能免费提供,高级功能需付费订阅。谷歌强调用户数据安全,邮件内容不会用于训练公共AI模型。
华为研究团队推出SWE-Lego框架,通过混合数据集、改进监督学习和测试时扩展三大创新,让8B参数AI模型在代码自动修复任务上击败32B对手。该系统在SWE-bench Verified测试中达到42.2%成功率,加上扩展技术后提升至49.6%,证明了精巧方法设计胜过简单规模扩展的技术理念。