PHP文件包含4种方式

1.include()
include()语句讲在其被调用的位置判断并包含一个文件,包含一个文件与复制该文件的数据到该语句所在位置具有相同的结果,其形式为:

include('filename');


与print和echo语句一样,使用include()时可以忽略括号,假如,假设希望包含一系列预定义的函数和配置变量,可以将这些函数和配置变量放在单独的文件中(列如:init.inc.php),然后在每个PHP脚本顶部包含这个文件,如下:

<?php
    include "init.inc.php"
?>


还可以根据条件来执行include()语句。注意,此时include()必须包含在语句块大括号内,或者用其他语句包围符括起。
Wrong:

<?php
    if(expression)
        include('filename');
    else
        include('another_filename');
?>


Right:

<?php
    if(expression){
        include('filename');
    }else{
        include('another_filename');
    }   
?>


关于include()语句有一个误解,以为因所包含的代码会嵌套在PHP执行块,所以不需要PHP转义标签。但是,事实并非如此,必须始终使用界定符。因此,不要指望只是将PHP命令放在一个文件中就能正确的解析。
Wrong:

echo "this is an invalid include file";

Right

<?php
    echo "this is a valid include file";
?>

实际上任何PHP语句都必须使用正确的转义标签包围。

如果启用了PHP配置指令allow_url_fopen,还可以在include()语句中引用一个远程文件,如果所在的服务器支持PHP,通过传递必要的键/值对(类似于GET请求的做法),所包含文件中的变量也会得到解析,如下:

include "http://XXXXXX/XXX/index.html?background=blue";

2.include_once()
include_once()函数的作用域include()相同,不过它会首先验证是否已经包含了该文件,其形式如下:

include_once(filename);

如果已经包含了文件,则不再执行include_once()。否则,必须包含该文件。除了这一点区别,include_once与include()完全相同

3.require()

require(filename)

require()和include()之间有两点重要的区别。
首先,无论require()的位置如何,指定文件都将包含到require()的脚本中。
例如,即使require()放在计算为假的if语句中,依然会包含指定文件!

第二个重要区别:require()出错时,脚本会停止执行,而在include()情况下,脚本将继续执行。

4.require_once()
require_once()函数确保脚本只包含文件一次,在遇到require_once()后,后面再试图包含相同文件的行为将被忽略。
除了require_once的验证过程外,该函数的其他方面都与require()相同
 

上一篇:webpack的 rquire.context用法实现工程自动化


下一篇:vue中使用require动态拼接img路径