您的位置:首页 > 产品设计 > UI/UE

include,require,include_once,require_once区别和性能对比

2017-07-21 10:30 459 查看

include,require,include_once,require_once区别和性能对比

include()与require()语句包含并运行指定文件。

区别:

这两种结构除了在如何处理失败之外完全一样。
include() 产生一个警告,脚本会继续运行。
require() 则导致一个致命错误,脚本会停止运行。

换句话说,如果想在遇到丢失文件或遇到错误时停止处理页面就用
require()。如果想在遇到错误时继续处理页面就用 include()。


注意在 PHP 4.3.5 之前,包含文件中的语法错误不会导致程序停止,但从此版本之后会。

include_once()
include_once() 语句在脚本执行期间包含并运行指定文件。此行为和
include() 语句类似,唯一区别是include_once()会先判断一下这个文件在之前是否已经被包含过,如已经包含,则忽略本次包含。

include_once() 应该用于嵌套包含的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题。

require_once()
require_once() 语句在脚本执行期间包含并运行指定文件。此行为和
require() 语句类似,唯一区别是require_once()会先判断一下这个文件在之前是否已经被包含过,如已经包含,则忽略本次包含。


require_once() 应该用于嵌套包含的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题。


需要注意的问题

1.路径问题

特别是嵌套包含的时候,一定得注意包含文件的路径。

比如 A文件包含了B文件,B文件包含了C文件,A,B,C文件都不在同一个文件夹下,这个时候往往很容易出错误。

解决方案:可以使用 dirname(__FILE__)
语句,这句的意思是获得当前脚本的绝对路径。如:require_once(dirname(__FILE__).'/config.php');


2.效率问题

include_once(),require_once(),与include(),require()比较,效率要低一些,因为他们至少得先判断一下这个文件是否已包含。这一问题在PHP5版本有很大改进,不过效率还是较低。

原文地址:http://blog.sina.com.cn/s/blog_70ca88f00100sxik.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php