包括文件include和require在php中的区别(含详解)
包括文件include和require在php中的不同(含详解)
一 使用语法和简介
1、include()语法:
include(/path/to/filename)
include()语句将在其被调取的位置处包括一个文件。包括一个文件与在该语句所在位置复制拟定文件的数据具有雷同内容的结果。
使用include()时可以忽略括号。在前提语句中使用include(),它必需包抄在语句块大括号中,或者用其他语句包抄符括起来。
2、include_once()语法:
include_once(filename)
include_once() 语句在足本施行期间包括并运转指定文件。此行动和 include() 语句相似,独一不同是include_once()会先推断一下这个文件在此前可否已经被包括过,如已经包括,则忽略本次包括。
3、require()语法:
require(filename)
require()在很大程度上与include雷同,都是将一个模板文件包括到require调取坐在的位置。require和include之间有两点重要的不同。
一、不管require的位置怎样,拟定文件都将包括到显现require的足本中。例如,即便require放在运算结果为假的if语句中,仍然会包括指定文件。
二、require出错时,足本将休止运转,而在使用include的状况下,足本将连续施行。
4、require_once()语法:
require_once(filename)
require_once() 语句在足本施行期间包括并运转指定文件。此行动和 require() 语句相似,独一不同是require_once()会先推断一下这个文件在此前可否已经被包括过,如已经包括,则忽略本次包括。
二 不同总结
1、include()与require()语句不同。
示例一
include('hello.php'); echo 'include test final!';//include报错,但是会连续施行,显示:include test final! require('hello.php'); echo 'require test final!';//require报错,休止代码的施行。
小结:
⑴ include() 发生一个警告,足本会连续运转。
⑵ require() 则致使一个致命错误,足本会休止运转。
换句话说,假如想在碰到丧失文件或碰到错误时休止处置页面就用 require()。假如想在碰到错误时连续处置页面就用 include()。
留意在 PHP 4.3.5 此前,包括文件中的语法错误不会致使程序休止,但从此版本之后会。
2、require() 不管怎样都会包括文件,而include() 可以有选中地包括
示例二
<?php if(FALSE){ require('x.php'); } if(FALSE){ include('s.php'); } ?>
上面的代码中:x.php 必然会被包括,而 s.php 必然不会被包括。
3、include_once()、require_once()与include()、require()的不同
include_once()和require_once()一样,应当用于在足本施行期间统一个文件有大概被包括超越一次的状况下,想确保它只被包括一次以幸免函数重定义,变量从新赋值等问题。这就是include_once()和require_once()与include() 和require()的主要不同。
三 需要留意的问题
1、途径问题
特殊是嵌套包括的时候,必然得留意包括文件的途径。比方 A文件包括了B文件,B文件包括了C文件,A,B,C文件都不在统一个文件夹下,这个时候往往很容易出错误。
解决方案:可以使用 dirname(__FILE__) 语句,这句的意思是获得当前足本的绝对途径。如:require_once(dirname(__FILE__).'/config.php');
2、效力问题
include_once(),require_once(),与include(),require()比力,效力要低一些,由于他们至少得先推断一下这个文件可否已包括。这一问题在PHP5版本有很大改善,不外效力还是有差异。
感激大家的阅览,但愿阅读之后有所进步。
引荐教程:《PHP教程》
以上就是包括文件include和require在php中的不同(含详解)的具体内容,更多请关注百分百源码网其它相关文章!