在PHP编程中,经常会通过require、require_once来引用另一个文件,都可以达到引用文件的目的,但他们之间还是有一些细微的区别的,下来就来详细的说一下。
require:php的内置函数,作用是引入或者包含外部的php文件
原理:当本身php文件被执行时,则外部文件的内容就将被包含进该自身的文件中;也可以理解为,外部所要引用的文件的代码,会替换 require() 的代码部份,并形成一个新的php文件并执行代码。
注意:
1、当包含的外部文件发生错误时,系统将抛出错误提示,并且停止php文件的执行。
2、require()会在每一处出现调用的地方都重新调用(加载文件)。
举例1:
a.php
<?php
$str = 'http://feiniaomy.com';
?>
b.php
<?php
require 'a.php';
echo $str;
?>
运行b.php输出结果:http://feiniaomy.com
举例2:
a.php
<?php
echo "Hello";
?>
b.php
<?php
require 'a.php';
require 'a.php';
?>
运行b.php结果:Hello Hello
注:运行结果,输出了两个 Hello,则说明 a.php的代码被引用并执行了两次
require_once:它的作用与 require 的作用是一样的,都是引用或包含外部的一个php文件
原理:当含有 require_once 的php文件被执行时,则被 require_once 指定的外部文件都会包含进来,与其它的代码组成一个新的 php 文件,并开始执行
注意:
1、当外部的被包含进来的文件有错误时,也会跑错,并终止运行
2、require_once 指定的文件如果已经被包含过,则不会再次包含。它可以避免函数重定义,变量重新赋值等问题。
举例:
a.php
<?php
echo "Hello";
?>
b.php
<?php
require 'a.php';
require_once 'a.php';
?>
运行 b.php 的结果为:Hello
注:结果只输出了一个 Hello ,说明 a.php 里面的代码只被引用了一次。
本文来源:https://www.feiniaomy.com/post/480.html