最好有一个超级 PHP AJAX 文件或每个函数一个文件


Better to have one uber-PHP AJAX file or a file per function?

我正在创建一个需要很多AJAX功能的网站。 目前,我正在创建多个PHP文件,每个文件都包含每个AJAX"函数"的处理。 我刚刚意识到另一种选择是创建一个所有 AJAX 调用都会请求的 uber-PHP 文件,传递一个特定的"cmd"参数,指定在服务器端执行哪些功能。这两种方法都有缺点/优点吗?通常如何完成?

大型 AJAX 处理程序/调度程序脚本有一些整合机会。您可以在中心位置探测HTTP_X_REQUESTED_WITH。如果您需要对某些功能进行适当的授权,请对所有请求进行相同的授权。

显然,您还可以统一输出格式/处理。您只需要编写一次,而不是复制标头响应。

但不要费心去评估这种方法或那种方法背后的性能理论。除非你需要一个非常简单的回调功能(例如字典检查(,它可能受益于一个单独的脚本,否则用一个大的ajax脚本来处理它。大多数情况下,中心脚本将提供安全和维护优势。

我在开发和测试时使用一个怪物文件 - 然后将其分成较小的块进行部署。
当然,如果服务器处理了 1200 行只是为了达到给定任务实际需要的 20 行,则会出现性能损失。

从单独的文件中导入许多不必要的"工具"也是如此。

在部署
之前完成一次家务- 而不是每天 10.000.000 次 - 这只是常识

它有助于在源代码中保留"标记",使脚本能够进行拆分,并自动预先包含工具/表格。
- 一些聪明的驴子称这是不必要的(和危险的!(优化 - 他们只是懒惰:(

我个人两者都做。

我有一个主脚本,其中包含单独的脚本,require_once();根据需要使用哪个脚本。(使用 switch 和"类型"get/post 变量(。

这样,我可以在一个中心位置处理某些事情,例如标头处理。

而且我还可以轻松地分离脚本,而无需每次都读取 2k 行文件。