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优势。
好文章,需要你的鼓励
Allen AI研究所联合多家顶尖机构推出SAGE智能视频分析系统,首次实现类人化的"任意时长推理"能力。该系统能根据问题复杂程度灵活调整分析策略,配备六种智能工具进行协同分析,在处理10分钟以上视频时准确率提升8.2%。研究团队创建了包含1744个真实娱乐视频问题的SAGE-Bench评估平台,并采用创新的AI生成训练数据方法,为视频AI技术的实际应用开辟了新路径。
联想推出新一代NVMe存储解决方案DE6600系列,包含全闪存DE6600F和混合存储DE6600H两款型号。该系列产品延迟低于100微秒,支持多种连接协议,2U机架可容纳24块NVMe驱动器。容量可从367TB扩展至1.798PiB全闪存或7.741PiB混合配置,适用于AI、高性能计算、实时分析等场景,并配备双活控制器和XClarity统一管理平台。
中科院团队首次系统评估了AI视觉模型在文本压缩环境下的理解能力,发现虽然AI能准确识别压缩图像中的文字,但在理解深层含义、建立关联推理方面表现不佳。研究通过VTCBench测试系统揭示了AI存在"位置偏差"等问题,为视觉文本压缩技术的改进指明方向。