PHP include_once

时间:2010-04-07 19:09:45

标签: php

使用PHP的include_oncerequire_once而不是使用带有标头保护的类C include更有效吗?

即,

include_once 'init.php';

include 'init.php';

//contents of init.php
if (!defined('MY_INIT_PHP')) {
  define('MY_INIT_PHP', true);
  ...
}

4 个答案:

答案 0 :(得分:9)

“require_once”和“include_once”通常比“require”和“include”慢一点,因为它们执行检查文件是否已经加载过。

但是差异只在真正复杂的应用程序中才有意义,在这些应用程序中你应该进行自动加载,如果您的自动加载器编码良好,则不需要require_once / include_once。

在大多数简单的应用程序中,为方便起见,最好使用require_once / include_once。

标头防护方法只是应该避免的混乱代码。试想一下,如果你忘了检查其中一个文件。调试可能是一场噩梦。

如果您的应用适合它,请使用自动加载。这是快速,最方便,最干净的方式。

答案 1 :(得分:2)

我希望include_once比在include文件中使用header guard更快,因为你仍然需要在后者中打开并加载文件。

答案 2 :(得分:1)

您可以使用计时器尝试10,000次,但我认为定义MY_INIT_PHP的速度要快得多。

说实话,这可能是一个很小的差异,除非你在Facebook这样的网站工作,否则没有实际需要照顾。

答案 3 :(得分:0)

如果脚本内容是唯一的,我总是使用REQUIRE_ONCE。

相关问题