目录
[4. require_once](#4. require_once)
1.include
可以将别的文件直接引用过来(被引用的文件含有打印代码的话,会直接打印),如果失败了,会返回一条警告,文件会继续执行下去,通常用于动态包含。
如下,我建两个 php 文件,一个写有函数声明的文件,一个函数调用的文件
所以被引用的文件一般不写打印的代码,直接写函数声明即可
include 引用失败的话,会返回警告,并继续执行下去,如下
function.php 文件
php
<?php
header("Content-Type: text/html; charset=utf-8");
// 函数声明,$a, $b用于接收传来的参数
function add($a, $b) {
$c = $a + $b;
return $c;
}
?>
引用成功情况下
php
<?php
header("Content-Type: text/html; charset=utf-8");
echo "开始调用".'<br>';
include('function.php');
$t = add(3,4);
echo "计算结果为:".$t.'<br>';
echo "调用结束".'<br>';
?>
引用失败(将路径写错)情况下
php
<?php
header("Content-Type: text/html; charset=utf-8");
echo "开始调用".'<br>';
include('functions.php');//这里我引用错误,会继续往下执行
echo "下面有结果就引用成功,没有就是失败".'<br>';
$t = add(3,4);//因为上面引用失败,所以这里也会因为失败而结束后面的程序
echo "计算结果为:".$t.'<br>';
echo "调用结束".'<br>';
?>
2.require
用于文件引用,如果引用失败,代码就不会继续往下执行;通常包含极为重要的文件
1)引用成功下
php
<?php
header("Content-Type: text/html; charset=utf-8");
echo "开始调用".'<br>';
require('function.php');
echo "下面有结果就引用成功,没有就是失败".'<br>';
$t = add(3,4);
echo "计算结果为:".$t.'<br>';
echo "调用结束".'<br>';
?>
2)引用失败情况下,我的文件function是正确的,我修改成functions ,所以错误
php
<?php
header("Content-Type: text/html; charset=utf-8");
echo "开始调用".'<br>';
require('functions.php');//这里我引用错误,强制停止后续代码
echo "下面有结果就引用成功,没有就是失败".'<br>';
$t = add(3,4);
echo "计算结果为:".$t.'<br>';
echo "调用结束".'<br>';
?>
从运行结果得知,require 会强制停止后续代码
3.include_once
可以以将别的文件直接引用过来(被引用的文件含有打印代码的话,会直接打印),如果失败了,会返回一条警告,文件会继续执行下去;
他会做 once 次检测,如果文件曾经已经被被包含过,不再包含。
简单来讲就是防止"俄罗斯套娃"
4. require_once
用于文件引用,如果引用失败,代码就不会继续往下执行;通常包含极为重要的文件;会做一次once检测,防止文件反复被包含