【问题标题】:Why would you want to include/require multiple times?为什么要多次包含/要求?
【发布时间】:2013-11-13 20:46:06
【问题描述】:

requireincluderequire_onceinclude_once 的变体。它们阻止脚本多次加载文件。

我想我可以放心地假设,因为这些函数存在,在某些情况下您需要 require/include 函数而不是 require_once/include_once 函数。但我无法想象这样的情况。那会是什么?

【问题讨论】:

  • 我使用require in a templating engine 根据需要多次包含 HTML 片段。碰巧的是,我在那个 repo 上的最后一个错误是我错误地使用了require_once,因此多次使用的片段被忽略了!

标签: php include require


【解决方案1】:

最好的例子可能是给出输出时。例如,如果您有一个可能在不同页面上出现多次的 HTML 的 sn-p,您可以将它放入一个单独的文件中,并根据需要多次包含它。

此外,通常不需要使用require_onceinclude_once。如果文件只会被调用一次(例如在__autoload 中),那么简单函数的开销会更少,因为 PHP 不需要跟踪文件之前是否包含过。

【讨论】:

  • 如果我理解正确require_onceinclude_once 是否有草率的脚本编写者来清理他们的烂摊子?
  • @Joren 在某种程度上他们属于 PHP 的过去时代,是的,我会这么说。
  • 可爱,PHP 的心理 -1 和你的 +1。
【解决方案2】:

如果您希望变量或常量只定义一次,则可能需要使用 require_once 而不是 require。这有助于在快速管理依赖项的非常大的代码库中创建可重用的类。假设我有一个需要文件 B 的文件 A,但我已经包含了包含文件 B 的文件 C。由于文件 B 已经包含,程序不必再次评估该代码以正确评估文件 A。这是一种情况您可能只想包含一次文件。

它有助于管理您的依赖项

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 2019-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-09
    相关资源
    最近更新 更多