include 和 require 的区别
include
incluce 在用到时加载 引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码
require
require 在一开始就加载 引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。
incluce_once 和require_once
表示已加载的不加载 只会加载一次
例子:
include()与require()的功能相同,但在用法上却有一些不同,include()是有条件包含函数,而 require()则是无条件包含函数。
例如在下面的一个例子中,如果变量$somgthing为真,则将包含文件somefile:
if($something){
include("somefile");
}
但不管$something取何值,下面的代码将把文件somefile包含进文件里:
if($something){
require("somefile");
}
扩展
1.require() 和 include() 语句是语言结构,不是真正的函数,可以像 php 中其他的语言结构一样,
例如 echo() 可以使用 echo("ab") 形式,也可以使用 echo "abc" 形式输出字符串 abc。
require() 和i nclude() 语句也可以不加圆括号而直接加参数。
2.include_once() 和 require_once() 语句也是在脚本执行期间包括运行指定文件。
此行为和 include() 语句及 require() 类似,使用方法也一样。唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。
这两个语句应该用于在脚本执行期间,同一个文件有可能被包括超过一次的情况下,确保它只被包括一次,以避免函数重定义以及变量重新赋值等问题。
3include() 执行时需要引用的文件每次都要进行读取和评估,require() 执行时需要引用的文件只处理一次(实际上执行时需要引用的文件内容替换了 require() 语句)
可以看出若有包含这些指令之一的代码和可能执行多次的代码,则使用 require() 效率比较高,
若每次执行代码时相读取不同的文件或者有通过一组文件叠代的循环,就使用 include(),
可以给想要包括的文件名设置变量,当参数为 include() 时使用这个变量。.