PHP中include()与require()的区别说明


Posted in PHP onFebruary 14, 2017

require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。

include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。

他们两个的用途是完全一样的,不一定非得哪个放在最前面哪个放在中间。他们最根本的区别在于错误处理的方式不一样。

require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误

include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。

以下为补充:

1. include有返回值,而require没有。

2. include()包括并运行指定文件 在处理失败时include() 产生一个警告,被导入的程序代码都会被执行,而且这些程序在执行的时候会拥有和源文件中呼叫到include()语句的位置相同的变量范围。你可以导入同一个服务器中的静态页面。

3. include_once()的作用和include()是几乎相同的

唯一的差别在于include_once()会先检查要导入的档案是不是已经在该程序中的其它地方被导入过了,如果有的话就不会再次重复导入(这项功能有时候是很重要的,比方说要导入的里面宣告了一些你自行定义好的函数,那么如果在同一个程序重复导入这个文件,在第二次导入的时候便会发生错误讯息,因为PHP不允许相同名称的函数被重复宣告第二次)。

4. require()会将目标文件的内容读入,并且把自己本身代换成这些读入的内容 在处理失败时require() 则导致一个致命错。

这个读入并且代换的动作是在PHP引擎编译你的程序代码的时候发生的,而不是发生在PHP引擎开始执行编译好的程序代码的时候(PHP 3.0引擎的工作方式是编译一行执行一行,但是到了PHP 4.0以后就有所改变了,PHP 4.0是先把整个程序代码全部编译完成后,再将这些编译好的程序代码一次执行完毕,在编译的过程中不会执行任何程序代码)。require()通常来导入静态的内容,而include()则适合用导入动态的程序代码。

5. 如同include_once(),require_once()会先检查目标文件的内容是不是在之前就已经导入过了,如果是的话,便不会再次重复导入同样的内容。

6. require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require。

7. require通常放在PHP程序的最前面,PHP程序在执行前,就会先读入require所指定引入的文件,使它变成PHP程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。

8. include一般是放在流程控制的处理部分中PHP程序网页在读到include的文件时,才将它读进来。这种方式可以把程序执行时的流程简单化。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

PHP 相关文章推荐
如何使用PHP获取网络上文件
Oct 09 PHP
一个简单的PHP入门源程序
Oct 09 PHP
用文本文件制作留言板提示(下)
Oct 09 PHP
ThinkPHP使用smarty模板引擎的方法
Jul 01 PHP
php使用数组填充下拉列表框的方法
Mar 31 PHP
PHP SPL标准库之SplFixedArray使用实例
May 12 PHP
详解PHP序列化反序列化的方法
Oct 27 PHP
详解WordPress中分类函数wp_list_categories的使用
Jan 04 PHP
Yii控制器中操作视图js的方法
Jul 04 PHP
php+ajax注册实时验证功能
Jul 20 PHP
php socket通信简单实现
Nov 18 PHP
Laravel框架在本地虚拟机快速安装的方法详解
Jun 11 PHP
php中的抽象方法和抽象类
Feb 14 #PHP
PHP静态成员变量和非静态成员变量详解
Feb 14 #PHP
PHP静态成员变量
Feb 14 #PHP
php中序列化与反序列化详解
Feb 13 #PHP
PHP最常用的正则表达式
Feb 13 #PHP
PHP面相对象中的重载与重写
Feb 13 #PHP
PHP中overload与override的区别
Feb 13 #PHP
You might like
php+dbfile开发小型留言本
2006/10/09 PHP
PHP通用分页类page.php[仿google分页]
2008/08/31 PHP
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
2019/12/31 PHP
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
jQuery 属性选择器element[herf*='value']使用示例
2013/10/20 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
2016/03/30 Javascript
javascript事件委托的用法及其好处简析
2016/04/04 Javascript
js 获取经纬度的实现方法
2016/06/20 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
2016/08/24 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
jQuery.parseHTML() 函数详解
2017/01/09 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
2020/05/06 Javascript
vue $mount 和 el的区别说明
2020/09/11 Javascript
pycharm远程linux开发和调试代码的方法
2018/07/17 Python
Python hashlib模块实例使用详解
2019/12/24 Python
Django 解决新建表删除后无法重新创建等问题
2020/05/21 Python
通过代码实例了解Python异常本质
2020/09/16 Python
深入解析HTML5中的Blob对象的使用
2015/09/08 HTML / CSS
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
计算机系毕业生推荐信
2013/11/06 职场文书
专业技术职务聘任书
2014/03/29 职场文书
简易离婚协议书范本
2014/10/24 职场文书
小学优秀班主任材料
2014/12/17 职场文书
招标保密承诺书
2015/01/20 职场文书
小学教师年度个人总结
2015/02/05 职场文书
领导干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
Pycharm远程调试和MySQL数据库授权问题
2022/03/18 MySQL