文章来自于:http://developer.51cto.com/art/200909/153687.htm

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

AD: 51CTO学院:IT精品课程在线看!

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()方法的区别。

转:PHP include()和require()方法的区别的更多相关文章

  1. PHP include()和require()方法的区别

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

  2. php include include_once require require_once 的区别与联系

    一.require 与 include 的区别: The require() function is identical to include(), except that it handles er ...

  3. include,include_once,require,require_once的区别

    1.include() include(/path/to/filename) include()语句将在其被调用的位置处包含一个文件.包含一个文件与在该语句所在位置复制制定文件的数据具有相同内容的效果 ...

  4. PHP中 Include 与 Require之间的区别

    *引入机制 如果没有给出目录(只有文件名)时则按照 include_path 指定的目录寻找.如果在 include_path 下没找到该文件则 include 最后才在调用脚本文件所在的目录和当前工 ...

  5. include 和 require 的区别

    1. 首先不去介绍大家都知道的区别,百度上都进行了详细的说明,对于返回值的方面大家都很少提到. include 和 require 还有一个区别就是是否具有返回值.参见手册 对include 加载文件 ...

  6. (转发)RequestDispatcher的include()方法和forward()方法的区别

    forward(): 该方法用于将请求从一个Servlet传递给服务器上的另外的Servlet.JSP页面或者是HTML文件. 在Servlet中,可以对请求做一个初步的处理,然后调用这个方法,将请求 ...

  7. PHP中include和require(转)

    昨天去面试一个php开发,看到笔试试卷上有这么一道题目: include和require有什么区别? 这个题目可以称得上php开发面试中的必考题目,网上也有各种答案和解释.但是我当时却真的想不起来了. ...

  8. php引入文件(include 和require的区别)

    引入文件: 首先需要一个php文件: <?php class shao//类名必须和文件名相同!!! { public $xxx="666"; } $shili = new ...

  9. 2018/03/09 每日一学PHP 之 require_once require include include_once 包含文件的区别

    require_once require include include_once 方法的区别 对于包含文件来说,如果只是使用框架来说的话,应该会很少碰到,因为框架底层对于文件的引用等做了很好的封装, ...

随机推荐

  1. nginx 配置301转发

    学习nginx 推荐 http://www.nginx.cn/nginx-how-to 1. 设置域名解析 daijun.me 指向 234.33.22.21 2.主机234.33.22.21 ngi ...

  2. 谋哥:App自推广这个概念就由我来创立了!

    [谋哥每天一干货,第六十四篇] 昨天谋天团新增加了一名90后会员崔崔(微信号cuinianyyyy9),之前请教过我关于怎样从.Net到移动IOS开发然后创业的问题.我说你转到IOS,你须要自己学新语 ...

  3. Eclipse连接SVN服务器

    (1)安装 eclipse SVN 插件      插件名称 site-1.4.8.zip      Help --> SoftwareUpdates --->Find and Insta ...

  4. [转] jquery 使用方法

    jquery 使用方法 jQuery是目前使用最广泛的javascript函数库.据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库.微软公司 甚至把jQuery作为他们的官 ...

  5. Python下载漫画

    上午起来提不起劲,于是就用电脑看漫画,但是在线看漫画好烦,就想下下来看.一个一个点太麻烦,于是花了点时间用python写了个demo,把爱漫画的漫画下载下来,这样就可以随时随地看了.这也是我首次尝试用 ...

  6. Shell 获取当前时间

    #! /bin/bash time=`date '+%Y-%m-%d %H:%M:%S'` # echo $time sql='SELECT `username`, `password` FROM ` ...

  7. Linux常用操作练习

    Linux常用操作练习 练习一:安装CentOS 1.设置为1G内存(才有图形界面).10G硬盘 2.分给交换分区2G(4G一下2G,8G-32G分4G-8G) 练习二:安装CentOS迷你版 1.安 ...

  8. WPF DataGrid 绑定DataSet数据 自动生成行号

    1.绑定数据:dataGrid1.ItemsSource = dataSet.Tables[0].DefaultView; 注意:在创建DataGrid 时可以通过AutoGenerateColumn ...

  9. EXT ajax简单实例

    转载:http://www.cnblogs.com/xiepeixing/archive/2012/10/24/2736751.html EXT ajax request是ext中对于ajax请求的实 ...

  10. Java面向对象的概念以及OOP思想的优点

    传统面向过程程序设计的思路: 先设计一组函数用来解决一个问题,然后确定函数中需要处理的数据以及存储位置. 面向对象的设计的思路: 先确定处理的数据,然后确定处理数据的算法,最后将数据和算法封装在一起构 ...