PHP中include和require的区别是什么

这篇文章主要介绍了PHP中include和require的区别是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

10余年专注建站、设计、互联网产品定制网站设计服务,业务涵盖品牌网站设计购物商城网站建设成都小程序开发、软件系统开发、重庆APP软件开发等。凭借多年丰富的经验,我们会仔细了解每个客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,创新互联建站更提供一系列网站制作和网站推广的服务,以推动各中小企业全面信息数字化,并利用创新技术帮助各行业提升企业形象和运营效率。

1、概要

require()语句的性能与include()相类似,都是包括并运行指定文件。不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换require()语句)。这就意味着如果可能执行多次的代码,则使用require()效率比较高。另外一方面,如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句。

require()的使用方法如:

require("myfile.php")

这个语句通常放在PHP脚本程序的最前面。PHP程序在执行前,就会先读入require()语句所引入的文件,使它变成PHP脚本文件的一部分。

include()使用方法和require一样如:

include("myfile.php")

这个语句一般是放在流程控制的处理区段中。

PHP脚本文件在读到include()语句时,才将它包含的文件读取进来。这种方式,可以把程式执行时的流程简单化。

incluce在用到时加载

require在一开始就加载

_once后缀表示已加载的不加载

PHP系统在加载PHP程序时有一个伪编译过程,可使程序运行速度加快。但incluce的文档仍为解释执行。include的文件中出错了,主程序继续往下执行,require的文件出错了,主程序也停了,所以包含的文件出错对系统影响不大的话(如界面文件)就用include,否则用require。

require()和include()语句是语言结构,不是真正的函数,可以像php中其他的语言结构一样,例如echo()可以使用echo("ab")形式,也可以使用echo"abc"形式输出字符串abc。require()和include()语句也可以不加圆括号而直接加参数。

include_once()和require_once()语句也是在脚本执行期间包括运行指定文件。此行为和include()语句及require()类似,使用方法也一样。唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。这两个语句应该用于在脚本执行期间,同一个文件有可能被包括超过一次的情况下,确保它只被包括一次,以避免函数重定义以及变量重新赋值等问题。

2、详解

2.1报错

include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码。

require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码。

用例子来说话,写两个php文件,名字为test-include.php和test-require.php,注意相同的目录中,不要存在一个名字是test-nothing.php的文件。

test-include.php

test-require.php

浏览http://localhost/test-include.php,因为没有找到test-nothing.php文件,我们看到了报错信息,同时,报错信息的下边显示了abc,你看到的可能是类似下边的情况:

Warning:include(test-nothing.php)[function.include]:failedtoopenstream:NosuchfileordirectoryinD:\www\test-include.phponline2

Warning:include()[function.include]:Failedopening'test-nothing.php'forinclusion(include_path='.;C:\php5\pear')inD:\www\test-include.phponline2

abc

浏览http://localhost/test-require.php,因为没有找到test-nothing.php文件,我们看到了报错信息,但是,报错信息的下边没有显示abc,你看到的可能是类似下边的情况:

Warning:require(test-nothing.php)[function.require]:failedtoopenstream:NosuchfileordirectoryinD:\www\test-require.phponline2

Fatalerror:require()[function.require]:Failedopeningrequired'test-nothing'(include_path='.;C:\php5\pear')inD:\www\test-require.phponline2

2.2文件引用方式

include()执行时需要引用的文件每次都要进行读取和评估,require()执行时需要引用的文件只处理一次(实际上执行时需要引用的文件内容替换了require()语句)可以看出若有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高,若每次执行代码时相读取不同的文件或者有通过一组文件叠代的循环,就使用include(),可以给想要包括的文件名设置变量,当参数为include()时使用这个变量。

感谢你能够认真阅读完这篇文章,希望小编分享的“PHP中include和require的区别是什么”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


文章标题:PHP中include和require的区别是什么
文章链接:http://myzitong.com/article/jggohd.html