西弗斯中文站 / 编程与技术 / 导读

用了两年 Rails,我为什么回到 PHP

7 reasons I switched back to PHP after 2 years on Rails

原文发表:2007-09-23 · 原文约 1112 词(5 分钟)· 导读更新:2026-09 · ★ 精选深读
这是导读,不是翻译。先用 5 分钟拿到这篇的核心,值得的话再去读 英文原文 →

核心观点

西弗斯回顾 CD Baby 用 Rails 全盘重写的失败:两年后连一半都没完成。他改用 PHP 独自从零重写,两个月就上线,还带上了从 Rails 学到的设计思想。他的结论是语言没那么重要,关键在实际需求与程序员本身。

要点

"Is there anything Rails can do, that PHP can’t do?" —— Derek Sivers,查看原文 →

写作背景

写于 2007 年,他还在全职经营 CD Baby,公司有 85 名员工。这次重写是他当时最自豪的成就,但几个月后他发现,2008 年的计划没有一项让他兴奋,随即卖掉了公司。这篇因此成了他「程序员老板」时期的收官之作,也埋下他后来一贯的技术观:少依赖框架、贴近 SQL、逻辑放进数据库、只写必要代码。

对你意味着什么

这篇写于 2007 年,却仍适用于今天“要不要用新框架重写”的争论。重写前先问:新技术能做什么旧技术做不到的?如果答案是没有,就把新学到的思想用来改造旧系统,分批上线。

这周就能做

  1. 重写前写下新技术能做、旧技术做不到的事,列不出来就别重写。
  2. 把重写拆成可分批上线的模块,定出两周内上线的第一批范围。
  3. 回看一段一年前的代码,列出现在会改的三处,分清进步的是你还是工具。

局限与反方

他能两个月独自重写,是因为他本人最懂业务,又吸收了两年失败的全部教训,这份条件不可复制。「语言不重要」在个人项目里成立,在团队里却很难:招聘、生态、安全更新、他人接手都依赖主流框架,自研小框架可能变成只有作者能维护的孤岛。国内团队尤其看重可招人、可交接。

编程重写技术选型

放在一起读