在PHP中:
什么时候应该使用require和include? 什么时候应该使用require_once vs. include_once?
在PHP中:
什么时候应该使用require和include? 什么时候应该使用require_once vs. include_once?
当前回答
Require的开销比include大,因为它必须首先解析文件。用包含替换require通常是一种很好的优化技术。
其他回答
在PSR-0 / PSR-4自动加载器时代,如果您所需要的只是让一些函数/类对您的代码可用,则可能完全没有必要使用任何语句(当然,如果您仍然使用PHP作为模板引擎,则仍然需要在引导文件中require_once自动加载器本身并包含模板)。
还有require和include_once。
所以你的问题应该是…
什么时候应该使用require和include? 什么时候应该使用require_once vs. require
这里描述了1的答案。
require()函数与include()函数相同,只是处理错误的方式不同。如果发生错误,include()函数将生成警告,但脚本将继续执行。require()生成一个致命错误,脚本将停止。
2的答案可以在这里找到。
require_once()语句与require()语句相同,只是PHP会检查文件是否已经包含,如果已经包含,则不会再次包含(require)它。
_once函数与不含_once函数的区别: 没有_once函数的代码将被再次包含,而有_once函数的PHP会跟踪被包含的文件,并且只包含它一次。
require和include的区别: 如果没有找到所需的文件,PHP将发出致命错误,而for include只会发出警告。
基本上,如果您需要一个错误的路径,PHP会抛出一个致命错误,并调用shutdown函数,但是当您包含一个错误的路径时,PHP将继续执行,但它只会显示一个警告,表明文件不存在。
根据英文单词require, PHP被告知页面或文件的执行取决于所需的文件。
根据我的经验,通常需要重要的文件,如配置文件、数据库类和其他重要的实用程序。
Include()如果不能包含该文件将抛出警告,但脚本的其余部分将运行。
require()将抛出一个E_COMPILE_ERROR并在脚本不能包含该文件时停止脚本。
如果文件已经被包含,include_once()和require_once()函数将不会第二次包含该文件。
请参见以下文档页面:
包括 需要 include_once require_once