当PHP包含文件时,我假设它将文件名存储在数组中。
然后,当包含另一个文件时,它会检查该数组是否已经包含它,对吗?
那么这里最重要的是什么?为什么人们如此害怕这个阵列检查?这不像你要包含数百万个文件......
一直进行in_array检查。我几乎在所有功能中使用它们:)
答案 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等函数是无用的。
缓慢 - 它可以忽略不计。