在PHP中:
什么时候应该使用require和include? 什么时候应该使用require_once vs. include_once?
在PHP中:
什么时候应该使用require和include? 什么时候应该使用require_once vs. include_once?
当前回答
Include / Require你也可以包含同一个文件不止一次:
require()与include()相同,除了失败时,它也会产生致命的E_COMPILE_ERROR级别的错误。换句话说,它将停止脚本,而include()只发出一个允许脚本继续的警告(E_WARNING)。
Require_once / include_once
和include/require是一样的,除了PHP会检查文件是否已经被包含,如果已经被包含,就不再包含(require)它。
其他回答
require文件必须存在,如果不存在则会显示错误;而使用include -如果文件不存在,那么页面将继续加载。
摘自手册:
require()与include()相同,除了失败时,它也会产生致命的E_COMPILE_ERROR级别的错误。换句话说,它将停止脚本,而include()只发出一个允许脚本继续的警告(E_WARNING)。
对于_once()变量也是如此。
Require的开销比include大,因为它必须首先解析文件。用包含替换require通常是一种很好的优化技术。
在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()来确保所需的文件被包含并且不会丢失。
当需要加载任何类、函数或依赖项时,请使用require函数。 当你想加载模板样式的文件时,使用include函数
如果您仍然感到困惑,就一直使用require_once。