【问题标题】:is a big functions php file a concern?大函数 php 文件是否值得关注?
【发布时间】:2012-08-12 05:01:00
【问题描述】:

我正在开发一个 Web 应用程序,我正在使用一个名为 functions.php 的文件,其中存储了与我的应用程序相关的所有函数,目前该文件有大约 1500 行代码和超过 30 个函数。

我想知道这是否是一个问题,调用函数时会减慢进程吗?我应该制作其他文件来移动那里的一些功能吗?

【问题讨论】:

  • 你可以把它变成一个类,这可能会让它运行得更顺畅。
  • @Rune 虽然我是 OOP 的支持者 - 你能否解释一下为什么/如何一个具有 1500 多行和 30 多个函数的类比一个包含它们的简单文件更平滑我真的没有看到它。
  • @newfurniturey 好吧,也许不是更流畅,但它可以更方便,代码也应该更易读。我猜这主要是你喜欢的。
  • 在这个问题中讨论 OOP 与程序化的优点有点离题,因为没有看到代码或它的作用,没有真正的答案是更好的答案。
  • 我认为这是关于你最喜欢的,如果你是 OOP 的粉丝,那么你会选择它,我自己不是,所以我总是选择 OOP,我认为 OOP 比较慢 btw .

标签: php performance function


【解决方案1】:

在大多数情况下,.php 脚本中的行数几乎不会像代码本身那样影响程序的速度。如果执行时间是您的第一要务,那么优化您的代码应该是您的第一要务。从调用次数最多的函数开始,并确保那里的代码尽可能紧凑。

将函数拆分为不同的文件在技术上会使脚本变慢,因为解释器必须执行磁盘 I/O 来解析文件。但是速度的影响很小,所以我认为从长远来看,将它们分开可能会节省时间,因为如果你不总是盯着看,调试和优化会更容易。包含 30 个函数的巨大文件。

最后,如果您确实必须在您的应用程序中使用一堆巨大的 .php 文件,您可能需要考虑使用类似Zend 的东西来在服务器上编译您的脚本。

【讨论】:

  • 谢谢,我想这是最完整的答案!
  • @Scott,“技术上”和“无穷小”不是正确的形容词。是的,在专用的 LAMP+APC/Xcache VM 或脚本将被 ACP(或 VFAT)缓存的系统上就是这种情况,但在共享托管环境中,每个额外的脚本文件可能会产生平均 10+ 毫秒的关闭时间-服务器 I/O。这些可以加起来。
【解决方案2】:

如果您每页只使用一两个函数,将它们拆分成单独的文件并只包含您需要的那些会更快吗?是的,因为 PHP 需要通读整个文件才能包含它。它会产生足够明显的差异,值得拆分文件吗?在大多数情况下,答案可能是否定的。

【讨论】:

  • 所以你建议我只保留我的文件?
  • 您必须根据您的网站以及您认为它对性能的影响程度来决定。对于一个 1500 行的文件,将它保存在一个文件中可能很好。如果文件有 15000 行,那可能是另一回事了。
  • 谢谢你,这很有帮助:)
猜你喜欢
  • 2012-07-09
  • 2012-06-11
  • 1970-01-01
  • 1970-01-01
  • 2023-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多