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 Mysql类 可以参考学习熟悉下
Jun 21 PHP
几款免费开源的不用数据库的php的cms
Dec 19 PHP
PHP上传图片进行等比缩放可增加水印功能
Jan 13 PHP
一个非常完美的读写ini格式的PHP配置类分享
Feb 12 PHP
php通过sort()函数给数组排序的方法
Mar 18 PHP
php简单日历函数
Oct 28 PHP
php微信开发接入
Aug 27 PHP
PHP实现的网站目录扫描索引工具
Sep 08 PHP
PHP实现的曲线统计图表示例
Nov 10 PHP
PHP表单验证内容是否为空的实现代码
Nov 14 PHP
Laravel5.4框架使用socialite实现github登录的方法
Mar 20 PHP
PHP使用HTML5 FormData对象提交表单操作示例
Jul 02 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中echo和print的区别
2014/08/28 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
Yii2语言国际化的配置教程
2018/08/19 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
2019/08/05 PHP
自适应高度框架 ----属个人收藏内容
2007/01/22 Javascript
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
JavaScript 原型继承
2011/12/26 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
省市区三级联动下拉框菜单javascript版
2015/08/11 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
2017/07/11 Javascript
promise处理多个相互依赖的异步请求(实例讲解)
2017/08/03 Javascript
vue-prop父组件向子组件进行传值的方法
2018/03/01 Javascript
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
2019/02/17 Javascript
在vue中获取wangeditor的html和text的操作
2020/10/23 Javascript
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
Python编程实现双击更新所有已安装python模块的方法
2017/06/05 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
Pycharm更换python解释器的方法
2018/10/29 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
python实现横向拼接图片
2020/03/23 Python
Python将字典转换为XML的方法
2020/08/01 Python
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
网络信息管理员岗位职责
2014/01/05 职场文书
优秀志愿者事迹材料
2014/02/03 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
Python数组变形的几种实现方法
2022/05/30 Python