包含多个文件的PHP性能

时间:2011-05-26 14:38:46

标签: php include

我当前的工作流程包括功能和类文件,以及我需要的时间。然而,这可能会变得非常混乱,你有很多,其中一些依赖于其他人。

所以我正在考虑使用包含在includes目录中的文件的头文件。但我的问题是,是否有任何PHP性能问题,包括我需要的时间。通常我必须使用include_once,所以做一个大包含就可以摆脱对此的需求。

6 个答案:

答案 0 :(得分:2)

最好的方法可能是自动加载。那么你根本不需要(手动)包含任何类。看看this。我建议使用spl_autoload_register()-function。这将动态解决依赖关系。在大多数情况下,包含的性能实际上是无关紧要的。缓慢的事情通常发生在其他地方。使用自动加载具有延迟加载的额外好处。您不加载未使用的源文件。这甚至可以加速您的申请。

答案 1 :(得分:1)

PHP代码即时解释。如果没有使用给定的代码,它将不会被“编译”,因此不会导致性能损失。

但是,给定页面上的所有代码(及其包含的内容)都会经过语法检查,这样可能会使某些内容变慢。

当然,我会考虑你拥有的包含以及你是否真的需要它们。

答案 2 :(得分:0)

通常,PHP中的性能(速度)不受代码行或文件数量的影响,但是:

  • 访问db
  • 访问文件系统!!!
  • 访问第三方API(SOAP ...)
  • 编码风格

答案 3 :(得分:0)

我建议您查看自动加载:manual。我还建议在一个__autoload()函数上使用spl_autoload_register,因为它允许通过分离模块或命名空间来实现更好的控制。

答案 4 :(得分:0)

包含文件确实会影响应用程序的性能,因为它需要从磁盘读取您的应用程序,但如果您保持低于100个文件,这是微不足道的。

顺便说一句,如果你不喜欢每次都要包含你的类文件,请查看魔术方法自动加载:

function __autoload($class_name) {
    include $class_name . '.php';
}

http://php.net/manual/en/language.oop5.autoload.php

答案 5 :(得分:0)

是一种表现效果,但它不是一个非常重要的效果。做任何事情都可以让您更快更轻松地编写代码。如果你发现你真的需要1ms回来,而你已经在其他地方修剪了所有其他的脂肪,那就去吧。否则,当你从未真正发挥实际作用时,你就会把开发时间浪费在尝试“完美”上。