require_once在开始时还是在真正需要时?

时间:2010-03-16 14:57:11

标签: php performance

我应该在哪里发表require_once个陈述,为什么?

  1. 始终在一个开头 文件,在课前,
  2. 在实际的方法中 文件真的需要
  3. 取决于
  4. 大多数框架都包含在开头,并不关心文件是否真的需要 使用自动加载器是另一种情况。

    修改

    当然,我们都同意,自动加载器是可行的方法。但那是“其他情况”我不是 问这里(顺便说一句,Zend框架应用程序使用自动加载器,文件仍然很难,并且放在开头)。

    我只是想知道,为什么程序员在文件开头包含必需的文件,即使它们可能根本不会被使用(例如 Exception files )。

2 个答案:

答案 0 :(得分:5)

自动加载是一种更好的做法,因为它只会加载所需的内容。显然,您还需要包含定义__autoload函数的文件,这样您就可以在某个地方使用。

我通常有一个名为“includes.php”的文件,然后定义__autoload并包含所有非类文件(例如函数库,配置文件等)。该文件在每页开头加载。

答案 1 :(得分:3)

我会说3.这取决于。如果您正在处理大量代码,那么仅在请求时加载包含文件可能是值得的,因为加载代码需要时间,并且会占用内存。另一方面,这使得维护变得更加困难,特别是如果您有依赖关系。如果加载包含“按需”,则可能需要使用包装函数,以便跟踪加载到哪个模块的位置。

我认为自动加载器机制确实是可行的方法 - 当然,应用程序的设计需要严格面向对象才能实现。