为什么人们说require_once慢于require?

时间:2011-09-06 16:00:10

标签: php arrays require require-once

  

可能重复:
  Why is require_once so bad to use?

当PHP包含文件时,我假设它将文件名存储在数组中。

然后,当包含另一个文件时,它会检查该数组是否已经包含它,对吗?

那么这里最重要的是什么?为什么人们如此害怕这个阵列检查?这不像你要包含数百万个文件......

一直进行in_array检查。我几乎在所有功能中使用它们:)

3 个答案:

答案 0 :(得分:5)

我不确定“人”是谁这么说,但我相信它是许多微观优化神话之一,遍及任何语言。

这是一篇对方法进行基准测试的文章: http://arin.me/blog/php-require-vs-include-vs-require_once-vs-include_once-performance-test

您的里程可能会有所不同,但我怀疑您会通过避免x_once功能看到任何显着的性能提升。使用适合该情况的语言结构,并且您没有做错任何事情。 x_once可能表示您需要重新考虑项目的组织或考虑使用autoloader,但它不是eval ...

答案 1 :(得分:2)

require_once()有两个问题,如果忽略性能问题,第二个问题也很重要。如果您使用的是require_once(),则表示您可能会require多次使用同一个文件。这本质上是错误的或错误的设计。现在的性能部分,对于Web优化的应用程序将无能为力。如果您了解提供静态HTML文件或缓存内容比提供PHP文件更快,您就会明白为什么人们说使用require_once()的速度较慢。

答案 2 :(得分:-3)

事实上,对于明智的计划的应用程序,require_once等函数是无用的。

缓慢 - 它可以忽略不计。