require("file.php");
require_once("file.php");
两者都包含所需的文件,如果找不到文件或存在任何其他问题,则会发出致命错误。如果发生错误,两者都会停止执行。
这两个功能有什么区别?
答案 0 :(得分:2)
require_once()语句与require()相同,但PHP会检查文件是否已被包含,如果是,则不再包括(require)它。
答案 1 :(得分:0)
如果文件丢失,Include将让脚本继续运行(带警告)。
如果丢失,则需要崩溃。
如果你使用include作为100%可选的东西,那么include仍然会有效并且需要会爆炸。
如果你包含一些你认为是可选的东西,但是你的脚本的其他部分使用了它,那么你的脚本会在那里爆炸,你可能不知道为什么。
这不是编写程序的好方法。
否则,两者之间没有区别。
在典型用法中,无论您选择在95%的时间内使用include
还是require
都无关紧要。
因此,您应该坚持require
(或require_once
),告诉您何时丢失所需的文件。
包含文件内包含文件的错误,包含文件内部的文件,如果缺少一个包含顶部的文件,则很难找到。
有些人更喜欢include
,因为他们想要使用“功能”
道格拉斯·克罗克福德是一个JavaScript / Java / C ++人,而不是PHP,但他认为,为了你的理智,应该避免看起来像错误或副作用与错误无法区分的功能。
请注意,如果您的整个项目完全基于类(或功能),并且完全模块化,那么除了在应用程序初始化时重置配置对象上的值之外,您应该没有太多用于包含(对于已经require
d。
正如您可能猜到的,还有其他方法可以做到这一点。
这些只是建议,但建议来自比我更聪明的人,拥有数十种语言的数十年经验。 参考:Difference between "include" and "require" in php