PHP中include()和require()方法的区别

本文总结了PHP的include()和require()两种包含外部文件的方法的不同之处。基本上就是从:PHP性能、使用弹性以及加载失败的处理方式方面的分析。

1.PHP性能

对于include()来说,在 include()执行时文件每次都要进行读取和评估;

而对于require()来说,文件只处理一次(实际上,文件内容替换了require()语句)。

这就意味着如果有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高。

另一方面,如果每次执行代码时想读取不同的文件,或者有通过一组文件叠代的循环,就使用include(),因为可以给想要包括的文件名设置一个变量,当参数为include()时使用这个变量。

2.使用弹性

require 的使用方法如 require(“./inc.php”); 。通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。

include 使用方法如 include(“./inc.php”); 。一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。

注:require即使在条件位FALSE的时候也会被包含,而include只会在执行到改位置时候才会去执行。

3.加载失败的处理方式

include()会产生一个警告,而require()则导致一个致命的错误(出现错误,脚本停止执行)

require():如果文件不存在,会报出一个fatal error.脚本停止执行

include():如果文件不存在,会给出一个warning.但脚本会继续执行

注:使用include()文件不存在时,脚本继续执行,这种情况只出现在PHP 4.3.5之前

推荐使用require_once()和include_once(),它们会检查之前是否加载过该文件,如果没有加载则加载,如果加载过就不再次加载。

require_once()函数的作用和 require() 是几乎相同的
include_once()函数的作用和 include() 是几乎相同的

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据