17611538698
webmaster@21cto.com

PHP 30 岁了

编程语言 0 33 20小时前
图片

6 月份是 PHP 发布 30 周年的日子。

我们来回顾一下 PHP 这些年来的发展历程,还有过去将近十年的技术改进,以及 Laravel 和 Symfony 等 PHP 框架的重要性变迁

Derick Rethans (德里克·雷桑斯)从事 PHP 开发已经有 25 个年头,他在 2001 年首次为该项目做出贡献。他目前是PHP 基金会的核心开发人员,该基金会是管理 PHP 开源项目的非营利组织。

PHP 基金会于 2021 年 11 月由 JetBrains、Automattic、Zend、Laravel 和 Acquia(Drupal 的托管方)等联盟机构发起成立。

图片

当然,PHP并非唯一一个将在 2025 年迎来 30 周年的编程语言。

JavaJavaScript诞生于 1995 年,Java 的发布时间只比 PHP 早几个星期。但可以说,在过去的几十年里,PHP 是这三种语言中变革最多的。现在的 PHP 已经发展到 8.4 版本。正如 Rethans 指出的那样,它与 PHP 1.0 相比已经“有着天壤之别”。即使是 2000 年 5 月发布的 PHP 4,也与当前版本有很大不同。

PHP 8.4“使用起来更好,更容易使用,更容易推理代码……”


—— Derick Rethans

“PHP 4 和 PHP 8 几乎无法比较,”他说,“就好像,如果你上次使用 PHP 是 PHP 4,甚至是 PHP 5,那么现在再看这门语言,你可能会认出它,但它已经是完全不同的语言了。PHP 8 好用得多,容易得多,读代码的时候也更容易推理,诸如此类。所以你真的没法比较。在 PHP 刚开始流行的时候,你只能在 HTML 里嵌入简单的文本,代码量非常非常小。”

PHP 的最新技术改进


话说个人主页工具(Personal HomePage Tools,PHP的早期名称)于 1995 年 6 月 8 日由一位名叫 Rasmus Lerdorf 的加拿大独立程序员发布。PHP Tools 最初是一个通用网关接口 (CGI) 的实用程序库和模板引擎。用现代术语来说,我们可以将它理解为类似于 React 之类的 JavaScript 库——尽管显然它要简单得多,因为当时是 1995 年。

正如 Rethans 前面提到的,PHP 的当前版本已经非常不一样了——它不再仅仅是一个工具集,而是一种成熟的编程语言。但是,最近,比如说过去十年,它发生了哪些变化呢?

“过去五到十年来,类型系统的扩展方式使得 PHP 成为一种更加严谨的语言。”


– Derick Rethans

“PHP 本身,作为一种语言,已经变得更加类型安全了,”Rethans 说。“当我开始使用 PHP 时,所有东西都是字符串、数字和数组,它们同时存在。虽然现在仍然如此,但现在你可以使用这种语言,让每样东西都有类型。PHP 有继承层次结构,还有标量类型(一次只能容纳一个值的数据类型)。在我看来,类型系统在过去五到十年的扩展方式,让 PHP 成为了一门更加严谨的语言。”

在过去的十年中,PHP 还获得了更多的语法特性,Rethans 说这使得使用 PHP 代码变得更加容易。

但总的来说,类型系统的进步“使得 PHP 迅速成长了起来”,他如此说道。

PHP 框架已是一门大生意


PHP 之所以能够在JavaScript 优先的 Web 开发时代屹立不倒,部分原因在于它拥有庞大且用户友好的框架:Laravel、Symfony 和 Laminas(以前称之为 Zend Framework)就是其中领先的几个框架。

Rethans 说,这些框架“专注于快速完成任务”。我问,这有点像早期 Web 2.0 时代的Ruby on Rails吗?他表示同意,并表示现代 PHP 框架是“Rails 的 PHP 实现,或者说是一个非常非常类似的理念”。

Laravel 可能是这些工具中最受瞩目的。

图片

Laravel 由 Taylor Otwell 于 2011 年作为开源 PHP 框架发布。

几年后,他又创立了一家名为 Laravel LLC 的科技公司。就在去年 9 月,该公司完成了首轮大型风险投资——来自 Accel 的 5700 万美元。

在其公告中,Otwell 明确表示,Laravel 已不再只是一个后端框架。“我相信 Laravel 是构建全栈 Web 应用程序最高效的途径,”他写道,并提到即将推出的 Laravel Cloud 部署平台(已于 2025 2 月推出)。

所有这些都已经表明:Laravel 现在是一项大生意。

PHP 框架“对 PHP 生态系统非常有用,因为它们表明 PHP 是一种非常现代的语言,机构可以使用……”


– Rethans

Rethans 指出,PHP 框架对于为客户创建网站的代理机构来说尤其有用。他们通常关注的是开发人员的速度,但这有其优缺点。

如果作为一家代理机构,你需要在两周内为客户快速开发一个网站,那当然很好。但我有时会想,如果你想开发一个运行时间更长的应用程序,那将需要大量的维护工作。这个框架未必是可行的方案。

无论如何,Rethans 认为像 Laravel 这样的框架“对 PHP 生态系统非常有用,因为它们表明 PHP 是一种非常现代的语言,机构可以使用它来非常熟练地为客户提供新的东西。”

他补充说,大型框架也“非常擅长营销”,这有助于 PHP 作为一种语言在开发人员心中占据首要的地位。

WordPress 及其日益增长的 JavaScript 使用


2025 年 PHP 的一大隐患是 WordPress。虽然 PHP 仍是 WordPress 的核心编程语言。


图片


比如为了撰写本篇文章,我就打开了一个以“/wp-admin/post-new.php”结尾的 URL。


近年来,WordPress项目已将一些前端功能迁移到 JavaScript,其中最引人注目的是 Gutenberg 块编辑器。这种转变是导致PHP 流行度在过去几年中下降超过 40% 的主要原因。


Rethans对 WordPress 放弃 PHP(至少在前端)时指出,对于自建 WordPress 的用户来说,他们接触到的语言仍然主要是 PHP。但对于提供托管服务的用户来说,JavaScript 的功能就派上用场了——“他们不需要处理后端的情况,只需要使用前端,比如编辑和设置网站之类的。”

前端和后端代码之间仍然需要平衡。

他承认部分 WordPress 前端软件已转向 JavaScript,但他表示前端和后端代码之间仍然需要平衡。

所以我认为它总是需要这种结合,你需要在前端和后端运行一些东西。当然,这两种语言是什么并不重要。但我想说,由于 JavaScript 和 PHP 都对 JSON 有很好的支持,所以它们的交互效果非常好。

PHP 的运行方式也发生了变化


除了 WordPress 之外,2025 年的 PHP 前景亦充满希望。

Rethans 多次提到了一个名为FrankenPHP的新工具,以此作为 PHP 生态系统未来发展方向的例证。FrankenPHP 的主页将其描述为“一个用 Go 编写的现代 PHP 应用服务器”。简而言之,它改变了 PHP 的运行方式。

图片

Rethans 解释说:“传统上,你会在 Web 服务器中运行 PHP,每个请求都是独立的。而使用像 FrankenPHP 这样的工具,你可能会看到类似于应用服务器的混合模型,但同时仍然具有请求-响应模型。”

此外,ServBay 等工具提高了开发人员的生产力,降低了入门门槛。Swoole 协程扩展计划于 v6.0 版本发布,引入了多线程和协程,从而提升了 PHP 的并发能力。

2025 年 6 月 8 日,即 Rasmus Lerdorf 发布 PHP 工具 30 周年纪念日,FrankenPHP作为正式项目加入 PHP 基金会。

这些工具不仅扩展了 PHP 的功能,还建立了社区、共享知识,并让 PHP 再次感受到现代气息。

结语

PHP 的发展历程不仅仅是一条技术时间线,它更是一个关于持续进步、现实世界影响以及社区持续关爱的故事。

那些预言PHP即将消亡的故事还会继续。从某种角度,PHP已经成了Web开发的COBOL,但它已经发展一种更新语言,而排名仅做一种参考。

对我个人来说,PHP 帮助我将热情转化为职业。它贯穿了我的早期项目、复杂的构建、重新设计和重建。我用它构建了一些对政府企业、公共服务和个人都产生真正影响的产品、网站或Web应用。

而我个人也已经掌握 ChatGPT 和 Github Copilot 等 AI 工具,了解 Transformers 等大型语言模型,利用 Docker 和容器编排,掌握 Vue、React 和 ElementUI 等前端技术进行全栈开发,因为有了牢固基础,学习 C++、Golang 或 Java 等其他编程语言,并不是什么问题。

如今,PHP 仍是我的技术栈中可靠且高性能的工具。它并非总是那么耀眼夺目,但它始终高效运行,并且不断精进。

因此,我们要为 PHP 30 岁生日干杯!不仅为了它的持久,也为了它持续发展、不断适应变化、持实用性。

在这个快速变化的行业里,让我们一起迎接更美好与新的挑战!

作者:洛逸

评论