在PHP中:

什么时候应该使用require和include? 什么时候应该使用require_once vs. include_once?


当前回答

Use

需要 当你的应用程序需要这个文件时,例如一个重要的消息模板或一个包含配置变量的文件,如果没有这些文件应用程序将会崩溃。 require_once 当文件包含的内容会在后续包含时产生错误时,例如。 Function important() {/* important code */}在你的应用程序中肯定是需要的,但由于函数不能被重新声明,所以不应该再次包含。 包括 当文件不是必需的,应用程序流程应该继续时,没有找到,例如 对于模板引用当前作用域的变量或其他东西非常有用 include_once 可选的依赖关系,会在后续加载时产生错误,或者可能远程文件包含,由于HTTP开销,您不希望发生两次

但基本上,什么时候用哪种取决于你。

其他回答

require文件必须存在,如果不存在则会显示错误;而使用include -如果文件不存在,那么页面将继续加载。

应该将类和函数定义组织在文件中。

使用require_once()加载依赖项(类、函数、常量)。

使用require()加载类似模板的文件。

使用include_once()加载可选依赖项(类、函数、常量)。

使用include()加载可选的模板类文件。

 

什么时候应该使用require或include? require和include函数执行相同的任务,即包含并计算指定的文件,但不同的是,当指定的文件位置无效或任何错误时,require将导致致命错误,而include将生成警告并继续代码执行。 因此,当您试图包含的文件是系统的核心,可能会对其余代码造成巨大影响时,您可以使用require函数;当您试图包含的文件是一个包含一些不太重要的代码的简单文件时,您可以使用include函数。 我个人的建议(对于不太重要的代码)是在开发阶段在代码中到处使用require函数,这样你就可以调试代码,然后在将其转移到生产环境之前用include函数替换所有的require函数,这样即使你遗漏了任何错误,也不会影响最终用户,其余的代码也能正常执行…… 什么时候应该使用require_once或require? require和require_once之间的基本区别是require_once将检查文件是否已经包含,如果已经包含,则不包含该文件,而require函数将包括该文件,而不管文件是否已经包含。 因此,当你想要一次又一次地包含某段代码时,使用require函数,而如果你只想在代码中包含某段代码一次,则使用require_once。

Use

需要 当你的应用程序需要这个文件时,例如一个重要的消息模板或一个包含配置变量的文件,如果没有这些文件应用程序将会崩溃。 require_once 当文件包含的内容会在后续包含时产生错误时,例如。 Function important() {/* important code */}在你的应用程序中肯定是需要的,但由于函数不能被重新声明,所以不应该再次包含。 包括 当文件不是必需的,应用程序流程应该继续时,没有找到,例如 对于模板引用当前作用域的变量或其他东西非常有用 include_once 可选的依赖关系,会在后续加载时产生错误,或者可能远程文件包含,由于HTTP开销,您不希望发生两次

但基本上,什么时候用哪种取决于你。

在PHP中,有4个类似的函数用于包含和要求文件:

include(): include()语句用于将一个文件的内容包含到另一个文件中。如果无法找到包含的文件,将生成警告,但脚本将继续执行。

require(): require()语句类似于include,但是如果找不到文件,它会生成一个致命错误。脚本将立即停止执行。

include_once(): include_once()语句与include相同,但它只包含文件一次,即使在同一个脚本中包含多次。

require_once(): require_once()语句与require相同,但它只包含文件一次,即使它在同一个脚本中包含多次。

简单来说:

当您希望包含一个文件并在文件丢失的情况下继续执行脚本时,使用include()。

当您需要包含一个文件并在文件丢失时停止执行脚本时,请使用require()。

当您希望只包含一次文件时,请使用include_once()或require_once(),以避免出现重复函数或变量的问题。

注意:一般情况下,建议使用require_once()而不是include_once()来确保所需的文件被包含并且不会丢失。