PHP包含文件的功能包括,include_once,要求,require_once
例如,下面的代码:复制代码代码如下:包括(你好。php);
echo'include测试终!,包含是错误的,但它将继续显示:包含测试最终!
要求(你好。php);
echo'require测试终!;要求停止代码的执行是错误的。
一个句子在一个句子中总结出来。
1.include()产生一个警告
2.require()会导致一个致命的错误
换句话说,如果你想停止处理页面时,你失去了你的文件,不要犹豫使用要求包括(),()不是这样的,该脚本将继续运行,也确保适当的include_path设置。
也就是说,当我们解析程序时,我们将读取所需文件,而不是解析它。如果我们不能读取所需的文件,就不能继续下一步,因此最好使用不需要包含在文件中的程序,这样效率可能会稍高一些。
注:要求()将包括文件在任何情况下,包括()可以有选择地包括:
复制代码代码如下所示:
< PHP
如果(false){
要求('x.php);
}
如果(false){
包括('s.php);
}
>
在上面的代码:x.php必将被包括,和s.php必须不包括。
这两种方式提供了不同的弹性:
使用的要求,如要求(myrequirefile .php);这个函数通常放在PHP程序的前。在执行之前,PHP程序首先读取指定的文件,使之成为PHP程序Web页面的一部分。
包括使用方法如:(myincludefile .php);此功能一般放在工艺控制过程中的部分。PHP网页读取它时,它读取的文件包括。这样,可以简化程序执行时。
1。使用语法和介绍
1,包括()
语法:包含(路径/文件名)
包含()语句将在调用它的位置包含一个文件。文件包含与声明位置中的文件复制的数据相同的效果。
当使用括号()时,可以忽略括号。
包含()语句可以在条件的基础上执行。条件语句中包含()的使用有一个奇怪的现象,它必须由块的括号或其他语句包围。
2、include_once()
Grammar: include_once (filename)
的include_once()语句包含并运行指定文件的脚本的执行过程中,这种行为是相似的,包括()语句。唯一不同的是,include_once()首先确定文件是否已被列入之前,或者如果它已被列入,它忽略了夹杂。
include_once()应使用嵌套包含以确保它只被包含一次以避免函数定义,变量的调动,等等。
摘要:本include_once功能()函数,包括相同的,但它会先验证文件是否已包括在内。如果它被包括在内,这include_once不再执行。否则,该文件必须包括在内。除此之外,正是为包括相同。
3,要求()
语法:要求(文件名)
要求()在很大程度上与包含相同,所有这些都是在请求调用的位置包括一个模板文件。
在需求和包含之间有两个重要的区别:第一,不管需求的位置,公式将包括在需求中出现的脚本中。例如,即使要求放在if语句中,结果也会包含指定的文件。
第二个重要的区别是,当需求是错误的,脚本将停止运行,脚本将继续执行时使用的是使用。
4、require_once()
语法:require_once(文件名)
的require_once()语句包含并运行指定文件的脚本的执行过程中,这种行为是类似的要求()语句。唯一不同的是,require_once()首先确定文件是否已被列入之前,或者如果它已被列入,它忽略了夹杂。
require_once()应使用嵌套包含以确保它只被包含一次以避免函数定义,变量的调动,等等。
概要:当站点变大时,可能会出现一些文件的重复,这可能不是问题,但是它修改了文件中包含的变量,但是它被旧文档所覆盖。它可能是,也可能有另一个问题,那就是,在包含文件的函数名称的冲突。这些问题可以通过使用require_once解决。
的require_once功能确保文件只包含一次。与require_once相遇后,包括相同的文件将被忽略,后来的尝试。
二、差异总结
1,包含()与请求()语句有区别。
区别:这两种结构是完全相同的,除了如何处理故障。
包含()生成一个警告,说明脚本将继续运行。
要求()导致致命错误,脚本将停止运行。
换句话说,如果您希望在丢失文件或发生错误时停止处理该页,则使用请求()。
注意,在PHP 4.3.5,语法错误文件中包含不导致程序停止,但之后的版本。
2者之间的差异,include_once(),require_once()和包括()和()的要求
include_once()和()require_once也应该用来确保相同的文件可以包含超过一次一个脚本的执行过程中,所以,它只包含一次以避免重新定义函数和变量的赋值,这是include_once之间的主要区别()和()require_once包括()和要求()。
三。应注意的问题
1。路径问题
特别是,当包含嵌套时,一定要注意包含文件的路径。
例如,一个文件包含B文件,B文件包含C文件,A,B,C文件不在同一个文件夹中,这一次往往很容易出错。
解决方法:你可以使用dirname(__file__)的说法,这意味着获得当前脚本的绝对路径,如:require_once(dirname(__file__)。 / config. php);
2。效率问题
include_once()(),(),require_once相比,要求包括()(),是低效率的,因为他们至少要判断文件是否包括在内。这个问题已经在PHP5版本大大提高,但效率仍然是不同的。