2026年学习PHP:真的有必要吗
速览
文章探讨了在2026年这个时间点学习PHP语言是否仍然具有实际意义。PHP作为经典的Web开发语言,依然拥有庞大的存量市场和生态基础。对于特定场景或初学者而言,掌握PHP仍是一种务实的技术选择。
AI 深度解读
2026年学习PHP(是的,真的):语言声誉背后的社会信号
背景
在 Hacker News 或 Reddit 等开发者社区,每隔八到十二个月就会出现一篇关于“PHP已死”的长文。评论区往往充斥着来自2007年的“战争故事”,经过几百个点赞后,话题便随之消散,现实世界却毫无变化。
这种周期性现象揭示了一个被忽视的事实:PHP(Hypertext Preprocessor)依然占据着互联网的半壁江山。WordPress 目前仍运行着约 43% 的网站,这一比例在过去十年中不仅没有下降,反而有所上升。
这篇文章旨在探讨编程语言声誉的形成机制,以及这种声誉如何影响开发者的职业选择。它指出,开发者对某种语言的排斥,往往更多反映了他们形成观点的时代背景,而非语言本身当前的技术状态。
核心内容
1. 过时声誉的根源:共享主机时代
PHP 的负面声誉源于其成长的环境。在 2000 年代初,共享主机(Shared Hosting)是将网站上线的主要方式。开发者通过 FTP 上传文件,在 public_html 文件夹中编辑代码,修改 .php 文件后刷新浏览器即可生效。
这种模式没有构建步骤,也没有部署流水线。PHP 允许将 HTML、SQL 和逻辑代码混合在同一文件中,导致代码结构混乱(Spaghetti Code)。虽然这种“快速且混乱”的开发方式在当时是高效的,但也让 PHP 背上了“不专业”和“过时”的骂名。然而,时代变了,语言进化了,但声誉却停滞不前。
2. PHP 的现代进化:从 5.3 到 8.3
PHP 在过去十几年中经历了巨大的技术革新,许多现代编程语言具备的特性,PHP 早已实现:
- PHP 5.3 (2009):引入命名空间(Namespaces)。
- PHP 7.0 (2015):性能翻倍,引入标量类型声明(Scalar type declarations)。
- PHP 8.0:带来联合类型(Union types)、命名参数(Named arguments)和匹配表达式(Match expression)。
- PHP 8.1:引入枚举(Enums)、纤维(Fibers)和只读属性(Readonly properties)。
- PHP 8.3:支持类型化的类常量(Typed class constants)和改进的深度克隆。
文章通过一个 Money 类的代码示例展示了 PHP 8.3 的现代特性:
enum Currency: string
{
case USD = 'USD';
case EUR = 'EUR';
case GBP = 'GBP';
}
readonly class Money
{
public function __construct(
public int $amount,
public Currency $currency,
) {
if ($amount < 0) {
throw new \InvalidArgumentException('Amount cannot be negative');
}
}
public function add(Money $other): self
{
if ($this->currency !== $other->currency) {
throw new \InvalidArgumentException('Currency mismatch');
}
return new self($this->amount + $other->amount, $this->currency);
}
}
这个类是不可变的(Immutable),属性具有类型约束,枚举基于字符串。这些特性在十年前并不存在。2010年的 PHP 和今天的 PHP 虽然共享同一个名字,但在技术本质上已截然不同。
3. 编程语言作为“社会信号”
编程语言不仅是工具,更是社会信号。开发者选择语言时,往往在同时做出“职业赌注”和“社交赌注”:
- Rust 传递严谨(Rigor)的信号。
- Go 传递大规模实用主义(Pragmatism at scale)的信号。
- TypeScript 传递前端严肃性的信号。
- Python 传递数据流利度或快速原型开发的信号。
- PHP 则传递了共享主机、WordPress 主题商店和 Upwork 自由职业者的残留印象。这种关联被视为“蓝领”工作,而科技行业往往假装阶级不存在。
在 2026 年,开发者面临两个问题:
- 技术问题:这门语言能完成我需要的工作吗?
- 社交问题:选择这门语言会让别人怎么看我?
通常情况下,社交问题胜出,尤其是在编程面试中。
4. 市场现实 vs. 社区舆论
如果目标是六个月内获得有偿工作,PHP 和 WordPress 技能是一个务实的选择。WordPress 主题开发、插件工作和小企业网站构成了庞大的自由职业市场。这种需求虽然缺乏光环,但稳定且持续。
- PHP/WordPress 路径:初级开发者可以在几个月内接到付费项目,从代码到支付的周期短。
- React/Next.js 路径:虽然能产生更好的作品集,但获得付费客户工作的时间更长。
市场并不关心 Hacker News 上的情绪。代理机构需要 WordPress 开发者,小企业需要能修改主题而不破坏网站的人。
5. 语言鄙视链的循环
每个语言社区都存在类似的偏见:
- JavaScript 开发者曾多年贬低 CSS 为“不是真正的编程”,并视 TypeScript 为微软的入侵。
- Python 开发者曾看不起 R 语言。
- Go 开发者嘲笑 Java 的冗长,尽管他们自己的工具也生成大量样板代码。
- Java 开发者因无法借用 Rust 开发者的眼镜而戴上了眼镜。
这种模式是:语言与特定类型的工作或时代绑定 -> 关联固化为判断 -> 判断在原条件改变后依然持续。PHP 是这一模式的典型代表:43% 的市场份额使其成为会议上的笑料,但半数演讲者的个人网站仍运行在 WordPress 上。
6. LLM 时代的终结:语言差异缩小
随着大型语言模型(LLMs)的发展,这一格局正在改变。LLM 可以从相同的提示词中生成 PHP、Python、TypeScript 和 Go 的工作代码。随着每次模型发布,不同语言间的开发者体验质量差距正在缩小。
“我专精于语言 X”在三年前是有意义的,但在今天意义递减。几年后的雇主将更关心最终产品,而底层的语言将像文本编辑器的品牌一样无关紧要。
过去十年,一部分程序员在辩论可接受的工具,另一部分程序员则在交付产品。前者拥有观点的组合,后者拥有客户名单。每一年的品味之争,都是没有发票的一年。
正如文章最后幽默指出的:麦当劳的应用程序并不询问你的技术栈。
关键要点
- 声誉滞后于技术:PHP 的负面声誉源于 2000 年代初的共享主机时代,而现代 PHP(8.x)在类型系统、枚举、性能等方面已高度现代化,两者本质不同。
- 语言选择是社交行为:开发者选择语言时,不仅考虑技术能力,更考虑其带来的社会信号和职业形象。PHP 常被误认为是“低端”或“过时”的象征。
- 市场需求务实:尽管社区舆论轻视 PHP,但 WordPress 仍占据约 43% 的网站份额,提供了稳定且快速变现的自由职业和初级开发机会。
- LLM 正在抹平语言壁垒:随着 AI 编码助手(LLMs)的普及,不同语言间的开发效率差距缩小,语言本身的重要性正在下降,最终交付的产品比使用的语言更重要。
- 警惕“鄙视链”陷阱:所有编程语言社区都存在偏见和鄙视链,这种偏见往往阻碍了开发者对工具客观价值的判断。
意义与影响
这篇文章对科技从业者和企业具有深刻的启示:
-
对开发者的职业建议:
- 不要仅因“流行度”或“社区声誉”而排斥任何语言。
- 如果目标是快速进入市场并获得收入,掌握 PHP 和 WordPress 生态是一个极具性价比的策略。
- 认识到“社交赌注”的存在,但在面试和工作中,应更关注解决问题的能力而非语言本身的标签。
-
对技术选型的反思:
- 技术决策应基于实际业务需求(如稳定性、维护成本、人才可用性),而非社区噪音。
