PHP 30 岁生日:语言和生态系统比以往任何时候都更强大
ccwgpt 2025-07-10 13:36 3 浏览 0 评论
PHP 8 与 30 年前推出的不起眼的工具集截然不同,这得益于 Laravel 等现代框架和 FrankenPHP 等新工具。
本月是 PHP 向世界发布的 30 周年纪念日。为了了解 PHP 多年来的发展情况、过去十年的技术改进以及 Laravel 和 Symfony 等 PHP 框架的重要性,我与 PHP 核心开发人员 Derick Rethans 进行了交谈。
Rethans 从事 PHP 开发人员已有 25 年,他于 2001 年首次为该项目做出贡献。他目前是 PHP 基金会的核心开发人员,该基金会是管理 PHP 开源项目的非营利组织。PHP 基金会于 2021 年 11 月由 JetBrains、Automattic、Zend、Laravel 和 Acquia(Drupal 的托管人)等公司联盟发起。
PHP 并不是唯一一种在 2025 年庆祝成立 30 周年的编程语言。Java 和 JavaScript 也于 1995 年首次亮相(Java 在 PHP 之前几周推出)。但可以说,PHP 在过去几十年中经历了这三种语言中最多的转变。我们现在已经升级到了 PHP 的 8.4 版本,但正如 Rethans 指出的那样,它与 PHP 1.0 “天壤之别”。即使是 2000 年 5 月发布的 PHP 4 也与当前版本大不相同。
PHP 8.4 “好用多了,好用多了,代码也多了推理...”
– Derick Rethans,PHP 核心开发人员
“PHP 4 和 PHP 8 几乎没有可比性,”他说。“这就像,如果你上次使用 PHP 的经验是 PHP 4 甚至 PHP 5,那么如果你现在看这门语言,你可能会认出它,但它是一门完全不同的语言。如果你在阅读它,它的使用会更好,使用起来更容易,对代码的推理也会更容易,诸如此类。所以你无法真正进行比较。PHP 的 1 到 2 天 — 你在HTML中嵌入了简单的文本,这是非常非常小的代码。”
PHP 的最新技术改进
个人主页工具(PHP 工具)于 1995 年 6 月 8 日由来自加拿大的独立开发人员 Rasmus Lerdorf 发布。正如我在另一篇 PHP 历史文章中解释的那样,在发布时,PHP Tools 是通用网关接口 (CGI) 的实用程序库和模板引擎。用现代术语来说,我们可以把它看作类似于 React 这样的 JavaScript 库——尽管显然要简单得多,因为那是 1995 年。
正如 Rethans 上面提到的,当前版本的 PHP 非常不同 — 它不再只是一个工具集,而是一种成熟的编程语言。但最近,比如说在过去十年中,它发生了什么变化?
“类型系统在过去 5 到 10 年中的扩展方式使 PHP 更加成为一门严肃的语言。”
– Rethans
“PHP 作为一种语言本身,已经变得更加类型安全,”Rethans 说。“当我开始使用 PHP 时,一切都是一个字符串、一个数字和一个数组,所有这些都是同时进行的。尽管情况仍然如此,但您现在可以以这样一种方式使用该语言,即每个事物都是类型化的。那里有继承层次结构,标量类型 [一次只能保存一个值的数据类型]。在我看来,类型系统在过去 5 到 10 年中扩展的方式使 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 可能是这些工具中最引人注目的。它由 Taylor Otwell 于 2011 年作为开源 PHP 框架推出,几年后他成立了一家名为 Laravel LLC 的公司。就在去年 9 月,该公司获得了第一轮大型风险投资—— 来自 Accel 的 5700 万美元。在公告帖子中,Otwell 明确表示 Laravel 现在不仅仅是一个后端框架。“我相信 Laravel 是构建全栈 Web 应用程序的最有效方式,”他写道,还提到了即将推出的 Laravel Cloud 部署平台( 于今年 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),但近年来,该项目已经将一些前端功能转移到 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 的方式。
“所以传统上,你在 Web 服务器中运行 PHP,每个请求都是独立的,”Rethans 解释说。“而使用像 FrankenPHP 这样的工具,你可能会看到类似 Hybrid Model 的东西,就像你对 Application Server 执行的作一样,但同时仍然有这个 Request - Response 模型。
FrankenPHP 于 2025 年 6 月 8 日作为官方项目加入 PHP 基金会 ,距离 Rasmus Lerdorf 发布 PHP 工具已经过去了 30 年。
最后一点:如果您是 PHP 开发人员,或者希望进入 PHP 的人,请查看即将于 6 月 17 日由 JetBrains 举办的 PHPverse 2025 虚拟活动。它不仅会庆祝 PHP 成立 30 周年,而且您将发现更多关于当前生态系统的信息。
相关推荐
- 用Steam启动Epic游戏会更快吗?(epic怎么用steam启动)
-
Epic商店很香,但也有不少抱怨,其中一条是启动游戏太慢。那么,如果让Steam启动Epic游戏,会不会速度更快?众所周知,Steam可以启动非Steam游戏,方法是在客户端左下方点击“添加游戏”,然...
- Docker看这一篇入门就够了(dockerl)
-
安装DockerLinux:$curl-fsSLhttps://get.docker.com-oget-docker.sh$sudoshget-docker.sh注意:如果安装了旧版...
- AYUI 炫丽PC开发UI框架2016年6月15日对外免费开发使用 [1]
-
2016年6月15日,我AY对外发布AYUI(WPF4.0开发)的UI框架,开发时候,你可以无任何影响的去开发PC电脑上的软件exe程序。AYUI兼容XP操作系统,在Win7/8/8.1/10上都顺利...
- 别再说C#/C++套壳方案多了!Tauri这“借壳生蛋”你可能没看懂!
-
浏览器套壳方案,C#和C++有更多,你说的没错,从数量和历史积淀来看,C#和C++确实有不少方式来套壳浏览器,让Web内容在桌面应用里跑起来。但咱们得把这套壳二字掰扯清楚,因为这里面学问可大了!不同的...
- OneCode 核心概念解析——Page(页面)
-
在接触到OneCode最先接触到的就是,Page页面,在低代码引擎中,页面(Page)设计的灵活性是平衡“快速开发”与“复杂需求适配”的关键。以下从架构设计、组件系统、配置能力等维度,解析确...
- React是最后的前端框架吗,为什么这么说的?
-
油管上有一位叫Theo的博主说,React是终极前端框架,为什么这么说呢?让我们来看看其逻辑:这个标题看起来像假的,对吧?React之后明明有无数新框架诞生,凭什么说它是最后一个?我说的“最后一个”不...
- 面试辅导(二):2025前端面试密码:用3个底层逻辑征服技术官
-
面试官放下简历,手指在桌上敲了三下:"你上次解决的技术难题,现在回头看有什么不足?"眼前的候选人瞬间僵住——这是上周真实发生在蚂蚁金服终面的场景。2025年的前端战场早已不是框架熟练...
- 前端新星崛起!Astro框架能否终结React的霸主地位?
-
引言:当"背着背包的全能选手"遇上"轻装上阵的短跑冠军"如果你是一名前端开发者,2024年的框架之争绝对让你眼花缭乱——一边是React这位"背着全家桶的全能选...
- 基于函数计算的 BFF 架构(基于函数计算的 bff 架构是什么)
-
什么是BFFBFF全称是BackendsForFrontends(服务于前端的后端),起源于2015年SamNewman一篇博客文章《Pattern:BackendsFor...
- 谷歌 Prompt Engineering 白皮书:2025年 AI 提示词工程的 10 个技巧
-
在AI技术飞速发展的当下,如何更高效地与大语言模型(LLM)沟通,以获取更准确、更有价值的输出,成为了一个备受关注的问题。谷歌最新发布的《PromptEngineering》白皮书,为这一问题提供了...
- 光的艺术:灯具创意设计(灯光艺术作品展示)
-
本文转自|艺术与设计微信号|artdesign_org_cn“光”是文明的起源,是思维的开端,同样也是人类睁眼的开始。每个人在出生一刻,便接受了光的照耀和洗礼。远古时候,人们将光奉为神明,用火来...
- MoE模型已成新风口,AI基础设施竞速升级
-
机器之心报道编辑:Panda因为基准测试成绩与实际表现相差较大,近期开源的Llama4系列模型正陷入争议的漩涡之中,但有一点却毫无疑问:MoE(混合专家)定然是未来AI大模型的主流范式之一。...
- Meta Spatial SDK重大改进:重塑Horizon OS应用开发格局
-
由文心大模型生成的文章摘要Meta持续深耕SpatialSDK技术生态,提供开自去年9月正式推出以来,Meta持续深耕其SpatialSDK技术生态,通过一系列重大迭代与功能增强,不断革新H...
- "上云"到底是个啥?用"租房"给你讲明白IaaS/PaaS/SaaS的区别
-
半夜三点被机房报警电话惊醒,顶着黑眼圈排查服务器故障——这是十年前互联网公司运维的日常。而现在,程序员小王正敷着面膜刷剧,因为公司的系统全"搬"到了云上。"部署到云上"...
- php宝塔搭建部署thinkphp机械设备响应式企业网站php源码
-
大家好啊,欢迎来到web测评。本期给大家带来一套php开发的机械设备响应式企业网站php源码,上次是谁要的系统项目啊,帮你找到了,还说不会搭建,让我帮忙录制一期教程,趁着今天有空,简单的录制测试了一下...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 用Steam启动Epic游戏会更快吗?(epic怎么用steam启动)
- Docker看这一篇入门就够了(dockerl)
- AYUI 炫丽PC开发UI框架2016年6月15日对外免费开发使用 [1]
- 别再说C#/C++套壳方案多了!Tauri这“借壳生蛋”你可能没看懂!
- OneCode 核心概念解析——Page(页面)
- React是最后的前端框架吗,为什么这么说的?
- 面试辅导(二):2025前端面试密码:用3个底层逻辑征服技术官
- 前端新星崛起!Astro框架能否终结React的霸主地位?
- 基于函数计算的 BFF 架构(基于函数计算的 bff 架构是什么)
- 谷歌 Prompt Engineering 白皮书:2025年 AI 提示词工程的 10 个技巧
- 标签列表
-
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- JAVA集合框架 (47)
- mfc框架 (52)
- abb框架断路器 (48)
- ui自动化框架 (47)
- beego框架 (52)
- java框架spring (58)
- grpc框架 (55)
- ppt框架 (48)
- 内联框架 (52)
- cad怎么画框架 (58)
- ps怎么画框架 (47)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)
- oracle提交事务 (47)