Spu*_*ley 22

包含文件将执行以下操作:

  • 从磁盘读取文件.
  • 运行文件中的代码.

这两项操作都需要时间.没有多少时间,但即便如此,如果你有很多包含它可以加起来,所以你的问题的基本答案是'是的,它可以影响性能'.

然而,这种性能影响的规模非常小,远远超过编写质量良好的结构良好的代码(包括在单独的文件中保持单独的类/功能)的优势.

说实话,如果您担心这些事情的表现,请尝试通过xDebug等分析器运行您的代码.这将显示您的代码的哪些部分花费了大量时间.include()语句将显示在那里,但不太可能在列表的顶部附近.

除非您正在编写一个像Facebook这样的访客号码的网站,否则您不必担心其性能include().但是看看xDebug的profiler输出,因为你的代码中可能还有其他东西比你预期的要慢得多,或者经常被调用,或循环太多次等等,并修复这些将对您的代码性能产生重大影响.

  • @Pacerier - 取决于你所指的加速器?如果您指的是像Opcache和APC这样的东西,那么它们比缓存文件加载要多得多; 他们还缓存了编译步骤,这是真正的性能提升来自的地方.如果你真的想看看通过减少包含来获得什么样的性能提升,请查看Phar机制:Phar文件是PHP包; 有效地将程序的所有文件组合成单个文件以使分发更容易.有一个好处,但不是那么多; 它主要是为了便于分发. (2认同)

Hav*_*ock 1

include指令确实将包含文件的内容“粘贴”到它所在的同一位置。所以包含的代码加起来就是实际的脚本。这是PHP include() 的一个很好的解释:文件大小和性能- 可接受的答案。