开放的编程资料库

当前位置:我爱分享网 > PHP教程 > 正文

Facebook PHP 代码泄漏分析

我在周末注意到 Facebook 主页的 PHP 代码已在线发布。为了避免法律上的困难,我不会在这个网站上发布代码,但你可以在这里找到代码。作为一名 PHP 程序员,我觉得自己得到了极大的享受。 Facebook 是使用 PHP 的最受瞩目的网站之一,我很高兴看到这样一家强大的公司如何编写其代码。

分析完代码,我有几点思考。

许多包含和 Include_Once() 的使用

正如预期的那样,主页本身包含多达 24 个文件,其中包括一个主配置文件。 Facebook 使用 include_once() 作为我喜欢的选择方法,因为它可以防止多次包含文件和覆盖已更改的设置文件。我确实想知道主要包含的文件中包含了多少文件,以及加载主页对他们的服务器做了多少工作。作为一个挑剔的 PHP 程序员,我讨厌程序员不在 include/require 函数中使用括号,即使它们不是必需的。

缺乏/不一致的评论

Facebook 程序员比我更了解目的代码,但我希望在页面内有更好的评论。我假设 Facebook 有大量的编程队伍——评论对于让那么多程序员保持文件正常工作难道不是必不可少的吗?显然不是,所以对他们表示敬意。我最喜欢的评论:

 //We special case the network not recognized error here, because affil_retval_msg is retarded.
 //Make sure big tunas haven't moved around

少于 500 行

考虑到页面处理量,文件大小(17.2 KB,约 450 行)给我留下了深刻的印象。删除空白行,文件可能会更短。

自由浮动函数

我对自由浮动函数的定义是一种非 PHP 原生的函数,也不是类中的函数。我不喜欢自由浮动的函数,因为它们使代码看起来杂乱无章。例如,我更喜欢创建一个带有 require 函数的 js 类:

require_js('js/bludice.js'); // Boo!
$js->require('js/bludice.js'); // Yes!

Facebook 只使用自由浮动函数——看不到 PHP 类。呸。

最后,我发现代码并没有我想象的那么神奇。如果不查看支持库文件,就很难清楚地了解 Facebook 的基础架构是如何工作的。我敢打赌,Facebook 也希望保持这种状态。

未经允许不得转载:我爱分享网 » Facebook PHP 代码泄漏分析

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏