我知道PHP需要的基本用法,需要一次,包含和包含一次。但我很困惑何时应该使用它们。
示例:我有3个文件,例如:settings.php,database.php和index.php。
在database.php文件中,我写道:
require_once 'settings.php';
然后在index.php中,我写道:
require_once 'settings.php';
require_once 'database.php';
所以我加载settings.php两次,这样可以吗?任何使用这些功能的提示?
答案 0 :(得分:19)
include
包含一个文件,如果找不到该文件则会发出警告。
require
包含一个文件,如果找不到该文件则会引发致命错误。
include_once
和require_once
执行相同的操作,但只有,如果文件尚未加载。
但是,对_once
函数之一的需求通常是设计糟糕的表现。您应该以明确定义包含在哪里的内容的方式构建脚本。
为settings.php
选择一个地方 - 可能index.php
。不需要在database.php
中另外包含它。
答案 1 :(得分:3)
根据PHP documentation on require_once,您不会加载settings.php两次;
require_once()语句是 除了PHP之外,与require()相同 检查文件是否已经存在 包括,如果是,不包括 (要求)再次。
答案 2 :(得分:2)
include()
和 require()
之间的区别出现在无法找到包含的文件时:include()
将引发警告 (E_WARNING) 并且脚本将继续,而 require()
将引发致命错误 (E_COMPILE_ERROR) 并停止脚本。如果包含的文件对脚本的其余部分正确运行至关重要,那么您需要使用 require()
。
答案 3 :(得分:0)
require_once
会检查文件是否已包含在内并且不再包含该文件,因此请不要担心它不会加载settings.php
两次。
答案 4 :(得分:0)
如果您的文件很重要,我认为您应该使用“require”,
但如果没有,我总是使用include,就像peka的答案一样
如果找不到文件,则require包含一个文件并抛出致命错误。
答案 5 :(得分:0)
require
当您的应用程序需要文件时,例如重要的消息模板或包含配置变量的文件,否则应用程序将无法运行。
require_once
文件包含的内容在随后包含时会产生错误的内容,例如
function important() { /* important code */}
在您的应用程序中绝对是必需的,但是由于无法重新声明函数,因此不应再次包含。
include
当不需要文件时,应用程序流程应在找不到时继续进行,例如
非常适合引用当前作用域或其他内容中的变量的模板
include_once
可选的依赖项,这些依赖项会在后续加载或远程文件包含时产生错误,由于HTTP开销,您不想重复执行两次
答案 6 :(得分:0)
include()
提取数据并加载当前文件中包含的内容,并加载同一文件多次。
include_once()
与include()
的工作原理相同,但是如果文件已经被包含,我们将使用include_once(),它将不再被包含。
如果在Like中多次使用相同的文件:-include_once 'setting.php';
使用第二次include_once 'settting.php';
,请忽略它们。
require()
与include()相同。
require_once()
(如果已经包含文件,则不会再次包含。)
include()
和include_once()
发出警告,脚本将继续。
require()
和require_once()
产生严重错误并停止脚本。
require_once()
。
答案 7 :(得分:-2)
在Php中使用include_once和require_once将一个页面添加到另一个页面示例:您想在编辑页面edit.php中添加数据库连接页面conn.php,您可以使用它。 但是include_once和require_once之间有不同,如果include_once函数得到任何错误它将警告你并执行代码但require_once函数找到任何错误它将停止脚本并且不执行代码。