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数据库的一些要注意的问题
Oct 09 PHP
php面向对象的方法重载两种版本比较
Sep 08 PHP
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
Aug 01 PHP
php实现将Session写入数据库
Jul 26 PHP
php实现的微信红包算法分析(非官方)
Sep 25 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
Dec 24 PHP
php自定义扩展名获取函数示例
Dec 12 PHP
php获取数据库结果集方法(推荐)
Jun 01 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
php+ajax实现仿百度查询下拉内容功能示例
Oct 20 PHP
浅谈laravel框架与thinkPHP框架的区别
Oct 23 PHP
ThinkPHP5框架中使用JWT的方法示例
Jun 03 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 中的一些经验积累
2006/10/09 PHP
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
javascript中方便增删改cookie的一个类
2012/10/11 Javascript
jQuery 选择器项目实例分析及实现代码
2012/12/28 Javascript
Bootstrap模态框调用功能实现方法
2016/09/19 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
在Vue 中实现循环渲染多个相同echarts图表
2020/07/20 Javascript
Vue-cli 移动端布局和动画使用详解
2020/08/10 Javascript
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
Python中的anydbm模版和shelve模版使用指南
2015/07/09 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
2019/07/04 Python
Django文件存储 默认存储系统解析
2019/08/02 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
python读取ini配置文件过程示范
2019/12/23 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
2019年Java面试必问之经典试题
2012/09/12 面试题
可以使用抽象函数重写基类中的虚函数吗
2013/06/02 面试题
大专学生推荐信范文
2013/11/19 职场文书
职业生涯规划设计步骤
2014/01/12 职场文书
大学学习生活感言
2014/01/18 职场文书
大课间活动制度
2014/01/18 职场文书
座谈会主持词
2014/03/20 职场文书
七一建党日演讲稿
2014/09/05 职场文书
企业授权委托书范本
2014/09/22 职场文书
党员群众路线自我剖析材料
2014/10/06 职场文书
撤诉申请怎么写
2015/05/19 职场文书
发票退票证明
2015/06/24 职场文书
毕业生的自我鉴定表范文
2019/05/16 职场文书
利用python做表格数据处理
2021/04/13 Python
python代码实现扫码关注公众号登录的实战
2021/11/01 Python