require、include、require_once和include_once有什么区别?
require、include、require_once和include_once有什么区别?
在PHP中:
- 我何时应该使用
require
与include
? - 我何时应该使用
require_once
与include_once
?
admin 更改状态以发布 2023年5月25日
使用
-
require
当文件被应用程序必须要求时使用,例如重要的消息模板或不包含配置变量的文件,如果没有这些变量,应用程序将无法正常工作。 -
require_once
当文件包含的内容在后续包含中产生错误时使用,例如function important() { /* important code */}
这个函数在应用程序中绝对需要,但由于函数不能重复声明,因此不应再次包含。 -
include
当文件未被要求并且应用程序流程应该在找不到文件时继续运行时使用,例如可以引用当前作用域中的变量的模板。 -
include_once
可以选择依赖关系,在后续加载中会产生错误,或者可能是不希望由于HTTP开销而发生两次远程文件包含。
但基本上,你可以自己决定何时使用哪种。
还有require
和include_once
。
所以你的问题应该是...
- 我应该何时使用
require
而非include
? - 我应该何时使用
require_once
而非require
?
关于问题1的答案可以在这里找到。
require()
函数与include()
函数完全相同,唯一不同之处在于错误处理不同。如果发生错误,include()
函数会生成一个警告,但脚本仍会继续执行。而require()
会生成一个致命错误,脚本将停止。
关于问题2的答案可以在这里找到。
require_once()
和require()
完全相同,不同之处在于PHP会检查文件是否已被包含,如果是,则不再包含(require
)它。