本问题已经有最佳答案,请猛点这里访问。
PHP中的"include_once"和"require_once"有什么区别?
include_once"connect_to_mysql.php";
require_once"connect_to_mysql.php";
这些之间有什么区别吗?
stackoverflow.com/q/2418473/2510628
如果文件丢失,Include将让脚本继续运行(带警告)。
如果丢失,则需要崩溃。
如果你使用include作为100%可选的东西,那么include仍然可以工作,并且需要会爆炸。
如果你包含一些你认为是可选的东西,但是你的脚本的其他部分使用它,那么你的脚本会在那里爆炸,你可能不知道为什么。
这不是编写程序的好方法。
否则,两者之间没有区别。
编辑
在典型用法中,95%的时间是否选择使用include或require并不重要。
因此,您应该坚持require(或require_once),告诉您何时丢失所需的文件。
包含文件内包含文件的错误,包含文件内部的错误,当包含顶部的文件丢失时,很难找到。
有些人更喜欢include,因为他们想要使用那个"功能"。
Douglas Crockford是一个JavaScript / Java / C ++人,而不是PHP,但他建议应该避免看起来像bug或副作用与bug无法区分的功能,以保证你的理智。
请注意,如果您的整个项目完全基于类(或功能),并且完全是模块化的,那么除了在应用程序初始化时重置配置对象上的值(包括管理员)之外,您应该没有太多用途。在已经require d的对象上覆盖选项或开发调试选项。
正如您可能猜到的,还有其他方法可以做到这一点。
这些只是建议,但建议来自比我更聪明的人,拥有数十种语言的数十年经验。
这不回答问题 -"require_once()和include_once()之间有什么区别?"。
那么,写包含或要求的最佳方式是什么?@Norguard
@AmalMurali这正是答案,以人类可理解的格式:include将继续执行并发出警告,require将在资源丢失的情况下以致命错误终止。 也许你可以再次阅读前两个陈述。 此外,他不要求include和include_once之间的增量,因此为了讨论起见,include和require之间的整体差异适用于其所有实例。 约定优于配置。
@FarwallGhost:请看这个答案。
它没有回答这个问题..
include_once将抛出警告,但不会阻止PHP执行脚本的其余部分。
require_once将抛出错误并阻止PHP执行其余脚本。
"......失败"!
良好的简短解释
区别在于require_once()将在失败时产生致命错误,而include_once()仅产生警告。
页面停止执行require_once不能加载所需文件,另一方面include_once将继续而不是加载包括文件时的错误。