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

PHP的include()和require()是两种包含外部文件的方法,对于这两种方法有什么区别,很多初学者可能不是很明白。下面总结一下PHP include()和require()的区别:

1:加载失败的处理方式不同:

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

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

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

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

推荐使用require_once()和include_once(),可以检测文件是否有重复包含。

2.php性能

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

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

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

另一方面,如果每次执行代码时相读取不同的文件,或者有通过一组文件叠代的循环,就使用include(),

因为可以给想要包括的文件名设置一个变量,当参数为include()时使用这个变量。

3.二种方式提供不同的使用弹性。

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

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

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

require_once() 语句在脚本执行期间包括并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。require_once()函数的作用和 require() 是几乎相同的

include_once() 语句在脚本执行期间包括并运行指定文件。此行为和 include() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。include_once()函数的作用和 include() 是几乎相同的

require_once的作用是会检查之前是否加载过该文件,如果没有加载则加载 如果加载过就不再次加载,比如某文件定义了一个类型 如果两次加载该文件会出现错误

以上就是PHP include()和require()方法的区别。

最新文章

  1. PHP imagecopyresampled 参数图示
  2. HLG2035广搜
  3. C语言清除输入缓存方法记录[转]
  4. [Swust OJ 137]--波浪数(hash+波浪数构造)
  5. php函数serialize()与unserialize() 数据序列化与反序列化
  6. matlab 图片批量读取
  7. Spring3 MVC 类型转换
  8. 修长城 (区间DP)
  9. lua循环,减少不必要的循环
  10. php+MySql实现登录系统与输出浏览者信息功能
  11. + CategoryInfo : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeException
  12. 通过该源码修改vim颜色和pudb调试器的代码颜色的方法
  13. Oracle中连接与加号(+)的使用
  14. oracle错误汇总1
  15. 抽象类,override,final和类模板
  16. (转)st(state-threads) coroutine和stack分析
  17. QAV250四轴穿越机安装全程详解(多图)
  18. [4G]常用AT指令
  19. java-数据库连接工具类 DataSourceUtil.java
  20. Question: Database Of Tumor Suppressors And/Or Oncogenes

热门文章

  1. QScrollArea可以帮助我们实现让一个widget的内容带有滚动条(QWidget里内置QScrollArea,QScrollArea里再内置其它QWidget)
  2. 转载网易博客:整理各大网站让网站变灰的css代码
  3. CentOS防火墙操作实例(启动、停止、开、闭端口)
  4. RedHat7 部署ELK日志分析系统
  5. Android 消息广播Intent传递数据
  6. oracle11g手工建库步骤
  7. php mysql_insert_id()
  8. 笔记一、Git服务器【转】
  9. C# 文本文件打印类库(C#)
  10. 自动化测试之python安装