在 PHP 中:
require
vs. include
? require_once
和include_once
? 使用
要求
当您的应用程序需要该文件时,例如一个重要的消息模板或包含配置变量的文件,如果没有该配置变量应用程序将中断。
require_once
当文件包含会在后续包含时产生错误的内容时,例如function important() { /* important code */}
在您的应用程序中肯定是需要的,但由于函数无法重新声明,因此不应再次包含。
包含何时不需要文件,应用程序流程在未找到时继续,例如
非常适用于引用当前范围或其他内容的变量的模板
include_once
可选的依赖项会在后续加载时产生错误,或者由于 HTTP 开销而不希望发生两次远程文件包含
但基本上,由你来决定何时使用哪个。
我的建议是在 99.9%的时间内使用require_once
。
使用require
或include
代替意味着您的代码不能在其他地方重用,即您提取的脚本实际上执行代码而不是提供类或某些函数库。
如果您需要 / 包括在现场执行的代码,那是程序代码,您需要了解新的范例 。像面向对象编程,基于函数的编程或函数编程。
如果您已经在进行 OO 或函数式编程,那么使用include_once
主要是在延迟堆栈中的位置发现错误 / 错误。您是否想知道函数do_cool_stuff()
在以后调用它时是不可用的,或者您希望通过要求库可以获得该函数的时刻 ?通常,最好立即知道您需要和期望的东西是否不可用,所以只需使用require_once
。
或者,在现代 OOP 中,只需在使用时自动加载您的课程。