作者:姚杨 | 专栏:阿杰的技术成长
会议室里,产品经理刚抛出新需求:内部要上一套进销存 + 订单管理系统。架构评审会还没开完,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 的玩法——那是另一个故事了。