PHP依然活跃:5个用“过时”语言构建帝国的初创公司

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

PHP——永不熄火的引擎

\n\n

当谈到初创公司时,人们往往会想到时髦的Python、Go或Rust。但老实说:互联网的一半至今仍在运行PHP。这并非深藏地下的遗留代码——而是那些从车库起家、如今市值数十亿的公司。

\n\n

在本文中,我们将剖析基于PHP的初创公司的成功故事,它们不仅存活下来,更成长为行业巨头。您将看到真实的代码示例,了解它们如何规避性能问题,并明白使用PHP并非羞耻,而是明智之选。

\n\n

如果您正在为自己的项目寻找灵感,或者想向怀疑者证明这门语言依然充满活力——那么您来对地方了。

\n\n

为什么初创公司选择PHP:3个铁一般的理由

\n\n

在深入具体故事之前,我们先分析一下PHP对初创公司的吸引力何在。这并非偶然,而是务实的考量。

\n\n

1. 快速启动

\n

用PHP写一个原型只需一个晚上。与Java或C#不同,您无需配置几十个配置文件。只需将文件放到服务器上——就完成了。

\n\n
<?php\n// 初创公司最小化API示例\n$data = ['status' => 'success', 'message' => 'MVP已就绪!'];\nheader('Content-Type: application/json');\necho json_encode($data);\n?>
\n\n

这段代码——仅仅4行。试试用Spring Boot从零实现同样的功能。

\n\n

2. 主机服务和专业人才的易得性

\n

市场上PHP开发者众多,主机服务价格低廉。对于处于创意阶段的初创公司来说,这至关重要:无需立即将预算花在DevOps工程师身上。

\n\n

3. 庞大的社区和现成的解决方案

\n

Symfony、Laravel、Composer——PHP生态系统已经成熟。您无需重新发明轮子,而是用积木搭建您的初创公司。

\n\n

故事#1:Facebook——PHP如何成为社交网络第一语言

\n\n

最著名的基于PHP的初创公司案例,当然非Facebook莫属。2004年,马克·扎克伯格用PHP编写了第一个版本。并非因为这是最好的语言,而是因为它是最快实现原型的方式。

\n\n

到2007年,Facebook面临一个问题:PHP无法应对5000万用户的负载。与其像任何“正统”工程师那样将所有代码重写为C++,团队创建了HipHop for PHP——一个将PHP代码转译为C++的转换器。

\n\n

拯救Facebook的代码

\n

以下是2008年Facebook上一个典型请求的样子:

\n\n
<?php\n// 获取新闻推送的简化版本\nfunction getNewsFeed($userId) {\n    $friends = getFriends($userId);\n    $posts = [];\n    foreach ($friends as $friend) {\n        $posts = array_merge($posts, getRecentPosts($friend));\n    }\n    usort($posts, function($a, $b) {\n        return $b['timestamp'] - $a['timestamp'];\n    });\n    return array_slice($posts, 0, 20);\n}\n?>
\n\n

这段代码是经典的“单体”架构,虽然能运行但消耗内存。解决方案是Hack(一种具有静态类型检查的PHP方言)和HHVM(虚拟机)。如今,Facebook(现为Meta)的后端仍然使用类似PHP的语言。

\n\n

经验教训:不要害怕使用旧工具。优化现有代码比从头重写并错失市场更好。

\n\n

故事#2:Wikipedia——用于免费知识的PHP

\n\n

Wikipedia是另一个成功的PHP项目,许多人认为它“只是一个维基引擎”。实际上,它是一个极其复杂的系统,每月处理200亿次请求。

\n\n

Wikipedia的源代码使用PHP编写,并基于MediaWiki。当2010年代负载激增时,团队并没有将所有代码重写为Go。相反,他们引入了:

\n\n
    \n
  • 应用层缓存(APCu + Memcached);
  • \n
  • 异步任务用于生成预览;
  • \n
  • 通过索引优化SQL查询;

博客

书籍推荐