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优势。
好文章,需要你的鼓励
OpenAI首席执行官Sam Altman表示,鉴于投资者的AI炒作和大量资本支出,我们目前正处于AI泡沫中。他承认投资者对AI过度兴奋,但仍认为AI是长期以来最重要的技术。ChatGPT目前拥有7亿周活跃用户,是全球第五大网站。由于服务器容量不足,OpenAI无法发布已开发的更好模型,计划在不久的将来投资万亿美元建设数据中心。
阿里巴巴团队提出FantasyTalking2,通过创新的多专家协作框架TLPO解决音频驱动人像动画中动作自然度、唇同步和视觉质量的优化冲突问题。该方法构建智能评委Talking-Critic和41万样本数据集,训练三个专业模块分别优化不同维度,再通过时间步-层级自适应融合实现协调。实验显示全面超越现有技术,用户评价提升超12%。
英伟达推出新的小型语言模型Nemotron-Nano-9B-v2,拥有90亿参数,在同类基准测试中表现最佳。该模型采用Mamba-Transformer混合架构,支持多语言处理和代码生成,可在单个A10 GPU上运行。独特的可切换推理功能允许用户通过控制令牌开启或关闭AI推理过程,并可管理推理预算以平衡准确性和延迟。模型基于合成数据集训练,采用企业友好的开源许可协议,支持商业化使用。
UC Berkeley团队提出XQUANT技术,通过存储输入激活X而非传统KV缓存来突破AI推理的内存瓶颈。该方法能将内存使用量减少至1/7.7,升级版XQUANT-CL更可实现12.5倍节省,同时几乎不影响模型性能。研究针对现代AI模型特点进行优化,为在有限硬件资源下运行更强大AI模型提供了新思路。