都 2026 年了,我为什么还在推荐 PHP:一个架构师的祛魅手记

简介: 都 2026 年了还在用 PHP?一个架构师用第一性原理算清三笔账:需求的天花板、成本的大头、效率的瓶颈。管理系统这个全球最大的需求区间,PHP 依然是最优解。

作者:姚杨 | 专栏:阿杰的技术成长

会议室里,产品经理刚抛出新需求:内部要上一套进销存 + 订单管理系统。架构评审会还没开完,Java 派先开口了:「都 2026 年了,谁还用 PHP 写新系统?」阿杰 张了张嘴,没接话——他其实觉得 PHP 挺合适,但怕被扣「过气」的帽子。散会后,他敲开老陈 的门。

「问你个事,用 PHP 是不是真掉价?」阿杰 问。

老陈 放下手里的报表,笑了:「你先别管掉不掉价。来,我带你算三笔账。」

一、先祛魅:没有垃圾语言,只有错位的场景

「第一笔账:语言本身。」老陈 在纸上画了四个格子。

  • Go:基础层架构组件、高并发网关,它是好手;
  • Python:小脚本、算法、数据分析,它是主场;
  • Java:严谨的超大型工程、超高并发系统,它当仁不让;
  • PHP:服务端系统的快速开发,它是本命。

「场景不同,没有高下。把语言当成工具,而不是信仰,是架构师的第一课。 你一开口就说『PHP 过气』,跟说『锤子不如扳手』一样,都是没想清楚要钉什么。」

二、流量见顶:超高并发,是一个极小众需求

「第二笔账:需求的天花板。」

老陈 问:「你见过几个需要超高并发的系统?」

阿杰 想了想:「电商大促?秒杀?」

「对,然后呢?支撑 15 亿人的生意,世间少有;超高并发电商、支撑 1000 亿 GMV 的架构,全球可能就那么几家公司。 年销售额 1000 万的企业呢?大家凑凑合合共用一个 SaaS,挺舒服。」

「经常做架构的同学都懂一句话:任何事情都是有代价的。 迭代速度、使用和维护成本、性能天花板——不可能三角,你不可能全都要。互联网流量见顶之后,真正需要『超高并发』的场景,全球还剩几个?」

三、全球最大的系统需求区间:管理系统

「第三笔账:需求到底分布在哪。」

老陈 把报表摊开:「管理系统——B/S 架构、服务端程序、支撑年销售额 50 亿左右的业务。 这是全球需求量最大的系统区间。」

「把视角从『我要做超大型系统』拉回『看看真实的 IT 需求分布』:大量需求是企业系统,也因此这个板块有海量的商业化产品——ERP、WMS、CRM、TMS、MES、SRM……细分到不能再细分。同时,为什么还有大量企业坚持自研和定制?在这个市场里,有大量自研 IT 团队以劳务合同、人力外包的形式存在——需求的量,远超想象。

四、这个最大量需求的领域,最合适的语言是 PHP

「在这个区间里:性能?完全够用;迭代速度?快;使用和维护成本?低。所以从全世界视角看,PHP 至今仍是按网站数量统计使用最广泛的 Web 语言——这不是偶然,是这个需求区间决定的。」

阿杰 插嘴:「那中国互联网为啥全是 Java?」

「两个原因:一是当年要做的是全球没几个的超高并发项目;二是 Java 生态曾靠『Java 兄弟连』这类优秀培训机构,撑起了整个生态的人才供给。」

老陈 顿了顿:「但一个企业,如果在持续的业务迭代里,一直付出高昂的开发成本和服务器成本,压力是很大的。 一开始结合业务天花板,选择一个恰当的语言和架构——这就是『老板不懂,企业在买单,全凭技术负责人自己平衡』的省钱法门。」

五、为什么 PHP 迭代快:它的哲学是实用主义

「回到你刚才的问题,PHP 凭什么迭代快?」老陈 问。

「因为它在语言特性上不追求极端。就像语言各有场景不能一概而论,OOP 和 POP 也各有适用场景:抽象设计复杂的地方——框架、非典型系统设计——面向对象非常重要,它引导对系统组件的抽象和实现,用更高维的设计模式范式化设计过程;但要清醒:这说的是 class,类和对象。」

「在管理系统领域,真正复杂的是实体和实体关系设计。实体是类的一种垂直且深度的使用场景——它有固定的框架 class 关系,却有网状的实体关联关系。所以在这个领域,面向对象只在实体设计这一块有更重要的意义,其他板块意义不大。

「而纯 OOP 语言,因为强迫症式地放弃了过程式能力,设计逻辑时一定要强行拟人化、角色化事物,于是冒出来一堆 Helper、Assistant。毫不客气地讲:Controller、Service 都是强行拎出来装面向过程代码的类。 你品,你细品——为什么实现对象时,方法可以设计得像角色动作一样,而在 Controller、Service 里,就是写一堆面向过程代码再包成一个一个的方法?因为串起逻辑,总有地方需要胶水代码——就像一个团队里总有项目经理,去把一个个『大爷』推动起来干活。只是大家习以为常,就觉得『就应该这样』。」

老陈 敲了敲桌子:「作为架构师,思维不能人云亦云。 要有独立思维、第一性原理思维,多问几个为什么,去质疑那些『存在但没有合理理由、只是历史原因就这样』的东西——因为技术红利,就藏在这些『第一性原理说不通、但历史原因『就这样』』的地方。 PHP、Python 这些语言,灵活而全面,不执念于 OOP 或 POP,它们的哲学是实用主义——该 OOP 的时候用 class,该过程式的时候用函数,因地制宜。」

六、看懂 PHP-FPM,你就看懂 PHP 为什么适合管理系统

阿杰 问:「那 PHP-FPM 这个『老古董』呢?网上都在说要换 swoole。」

老陈 笑了:「很多人没想过:PHP-FPM 到底是什么? 追溯到 PHP 的设计出发点:它要把底层复杂的 C 实现、响应 HTTP 请求的最底层逻辑封装起来,让编码人员只需要实现『用户代码』——也就是业务逻辑。」

「后来服务端理论升级,出现了 MVC 分层,用户代码里多了『PHP 框架』这件事。但大多数 PHP 框架是照猫画虎做纯 OOP 设计——结果就是:PHP-FPM 里,用户代码的生命周期只有『请求来了执行、请求结束释放』,里面却跑着一个完整的、像常驻进程一样的体系。

「至于 swoole——PHP 之所以特别,就是因为有 PHP-FPM。 如果你想用常驻进程的服务,去用 Java、用 Node.js 好了,语言没那么难学。」

「PHP-FPM 的设计特点,恰恰就是为管理系统服务端设计的。第一,管理系统的服务端是串行逻辑执行——先取请求数据,再去数据库折腾,最后返回。这是典型的管理系统特点。它需要常驻进程吗?常驻进程带来的线程管理复杂度,完全没必要引入。」

第二,管理系统的用户是固定的——公司内和生态的员工,加来加去撑死上万人。但系统非常多:一个 50 亿销售额的实业公司,大大小小系统多的能到 200 个,少的也有 20 个。可你的用户就那一万员工——实际因为一线人员流动性大、不一定操作后台,真实使用者可能就几千人。」

「那问题来了:准备服务器资源,是以几千个使用者为准,还是以『几百个系统 × 几千使用者』为准? 当然是前者——同一个使用者又不会同时点不同的系统,多少人就有多少并发,这是常识。」

「但如果你用常驻进程的服务架构:可能还没有用户使用,你的进程就要占掉几十上百个 G 的内存。 而 PHP-FPM 是什么原理?代码没被请求、没被加载的时候,它只是磁盘上的文件——200 个系统的代码能用多少磁盘呢?」

「所以,深刻洞察管理系统的使用场景之后你会发现:有多少冤枉钱,是花在了语言选择和架构选择上?

七、无需编译、无需重启:AI 时代的效率就是竞争力

「最后,还有一个被低估到尘埃里的点。」老陈 指了指代码:「无需编译即可执行;FPM 无需重启即可变更。

「在习惯了『编译型语言 + 重启加载』的体系里,改个东西想看结果所要耗的时间,你可以去接一杯水了。而在 AI 这个快时代:成本就是竞争力,效率就是竞争力。

「更不用说围绕服务和环境打包到一起的、基于容器的制品库概念——CI/CD 走一趟,黄花菜都凉了,这里不是否定容器、而是否定制品库概念。一个团队活在敏捷的空间里,一个团队活在迟钝的水池里,竞争力高下立见。 迭代速度、开发和使用成本,都是天壤之别。」

八、性能账:人比服务器贵多了

阿杰 又问:「可大神们都说 Java 性能比 PHP 好啊,服务器成本能省很多吧?」

其实不然。 Java 常驻进程的服务架构,在企业管理系统这种『固定使用人数』的场景下,资源占用很高;而在管理系统领域,语言性能的差别微乎其微——真正决定性能的是数据存储结构设计、表结构设计和 SQL 语句设计,这一点 Java、PHP 都一样,没什么区别。」

「更何况:一台 2 核 2G 的云服务器,一年才几百块;一个程序员的人天是多少钱?人比服务器贵多了。 开发和维护成本上一年省 5 个人,就能省至少 100 万——你知道 100 万够买多少服务器吗?」

九、架构师,请用第一性原理重新算这笔账

第二天,架构评审会上,阿杰 把这三笔账讲了一遍。会议室安静了三秒。

散会后,阿杰 给老陈 发了条消息:「我用 PHP,他们没再笑。」

老陈 回得干脆:「跳出语言鄙视链,跳出人云亦云、遵循历史惯性的懒政思维,用第一性原理思考——需求的天花板在哪?成本的大头在哪?效率的瓶颈在哪?想通这三件事,PHP 在 AI 时代为什么又『好用』了,答案不言自明。」

至于更具体的、AI 时代 PHP 生态里那些把「写」和「验」交给 AI 的玩法——那是另一个故事了。

目录
相关文章
人工智能 缓存 前端开发
11595 56
人工智能 JavaScript 开发工具
4583 17
开发工具 Swift git
1855 5
Web App开发 人工智能 API
1081 1
人工智能 Java BI
1220 1
人工智能 JavaScript 测试技术
2033 2
人工智能 JavaScript 测试技术
1032 4
缓存 JavaScript Shell
2028 3

热门文章

最新文章