require/include的区别
引入文件有4种方式,require、include、require_once/include_once**
require_once/include_once与require/include
Include_once:只引入一次文件,这个方法它在引入前会进行查询已加载文件列表的动作,因此会耗一定的性能,虽然在APC中部分问题已经被解决,但是还有一些小问题依然没有被完美解决,因此,不建议使用_once,(包括require_once,更详细的原因请自行google)
inculde与require
区别
require:
1.在引入一个不存在的文件时,会报fatal错误并且终止继续执行。
2.它会把自己本身代换成引入的文件内容。
3.它是一个语言结构。
include:
1.在引入一个不存在的文件时,会报警告并且继续执行。
2.它会引入文件并且执行文件里的内容。
3.它是一个常规的php函数。
1 | if($condition){//根据$condition的真假来判断是否引入文件 |
两者的使用场景:
- require通常使用方法,这个函数通常放在 PHP 程序的最前面,PHP 程序在启动执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序的一部份。也可以用这个方法将 常用的函数文件 引入到程序中。
- include通常使用方法,这个函数一般是放在流程控制(如if else)的处理部分中。PHP 程序在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
** 注意,使用include/require不建议加括号,这样会拉低一点效率 **
共同点:
- 解析程序都将退出php模式并在目标文件的开头进入HTML模 式。这意味着目标文件中的所1.有应该作为php脚本执行的代码都必须被包含在有效的php起始标记和终止标记中。
- 引入文件时,使用绝对路径是最快的,而’./currentDir.php’又比’currentDir.php’快
- 都可以用于控制结构中如for、if等。(亲测)