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语法(1)
Oct 09 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
Dec 29 PHP
判断php数组是否为索引数组的实现方法
Jun 13 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
PHP上传文件参考配置大文件上传
Dec 16 PHP
PHP生成短网址方法汇总
Jul 12 PHP
php中简单的对称加密算法实现
Jan 05 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
Jan 10 PHP
PDO::errorInfo讲解
Jan 28 PHP
PHP fprintf()函数用法讲解
Feb 16 PHP
php 策略模式原理与应用深入理解
Sep 25 PHP
PHP设计模式概论【概念、分类、原则等】
May 01 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/07/12 PHP
php实现图片转换成ASCII码的方法
2015/04/03 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
php原生数据库分页的代码实例
2019/02/18 PHP
避免 showModalDialog 弹出新窗体的原因分析
2010/05/31 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
javascript实现根据时间段显示问候语的方法
2015/06/18 Javascript
javascript比较两个日期相差天数的方法
2015/07/23 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
Nodejs Express4.x开发框架随手笔记
2015/11/23 NodeJs
JS实现手写parseInt的方法示例
2017/09/24 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
Vue 进阶之路(三)
2019/04/18 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
浅谈Vue项目骨架屏注入实践
2019/08/05 Javascript
微信公众号平台接口开发 获取access_token过程解析
2019/08/14 Javascript
JS数组方法join()用法实例分析
2020/01/18 Javascript
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
[00:33]DOTA2上海特级锦标赛 CDEC战队宣传片
2016/03/04 DOTA
在Python中,不用while和for循环遍历列表的实例
2019/02/20 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
2013/02/04 HTML / CSS
Ruby如何定义一个类
2012/10/08 面试题
餐厅执行经理岗位职责范本
2014/02/26 职场文书
单位委托书范本
2014/04/04 职场文书
护理专科毕业自荐信范文
2014/04/21 职场文书
机电一体化应届生求职信
2014/08/09 职场文书
党员检讨书
2014/10/13 职场文书
家长对孩子的寒假评语
2015/10/09 职场文书
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang
eclipse创建项目没有dynamic web的解决方法
2021/06/24 Java/Android