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 相关文章推荐
多数据表共用一个页的新闻发布
Oct 09 PHP
php heredoc和phpwind的模板技术使用方法小结
Mar 28 PHP
在PHP中养成7个面向对象的好习惯
Jan 28 PHP
php ss7.5的数据调用 (笔记)
Mar 08 PHP
注册页面之前先验证用户名是否存在的php代码
Jul 14 PHP
使用PHPMailer实现邮件发送代码分享
Oct 23 PHP
php从完整文件路径中分离文件目录和文件名的方法
Mar 13 PHP
postfixadmin忘记密码后的修改密码方法详解
Jul 20 PHP
PHP控制前台弹出对话框的实现方法
Aug 21 PHP
php实现等比例不失真缩放上传图片的方法
Nov 14 PHP
php微信公众号js-sdk开发应用
Nov 28 PHP
PHP 布尔值的自增与自减的实现方法
May 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 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
2009/01/30 PHP
php 调试利器debug_print_backtrace()
2012/07/23 PHP
深入PHP许愿墙模块功能分析
2013/06/25 PHP
php调用c接口无错版介绍
2014/03/11 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
2015/09/23 PHP
js的闭包的一个示例说明
2008/11/18 Javascript
关于URL中的特殊符号使用介绍
2011/11/03 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
JS实现星星评分功能实例代码(两种方法)
2016/06/09 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
jQuery操作json常用方法示例
2017/01/04 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
微信小程序背景音乐开发详解
2019/12/12 Javascript
es6函数之尾调用优化实例分析
2020/04/25 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
Element-UI 使用el-row 分栏布局的教程
2020/10/26 Javascript
Vue如何跨组件传递Slot的实现
2020/12/14 Vue.js
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
Django URL传递参数的方法总结
2016/08/28 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
2019 Python最新面试题及答案16道题
2019/04/11 Python
Python单元测试工具doctest和unittest使用解析
2019/09/02 Python
Python中logging日志库实例详解
2020/02/19 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
英国高级百货公司:Harvey Nichols
2017/01/29 全球购物
日本航空官方网站:JAL
2019/06/19 全球购物
卡拉威高尔夫官方网站:Callaway Golf
2020/09/16 全球购物
饮料业务员岗位职责
2013/12/15 职场文书
迟到检讨书300字
2014/02/14 职场文书
2014年体育部工作总结
2014/11/13 职场文书
给学校的建议书400字
2015/09/14 职场文书
军训决心书范文
2015/09/22 职场文书
详解Spring事件发布与监听机制
2021/06/30 Java/Android
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android