require_once 语句和 require 语句完全相同,唯一区别是 PHP 会检查该文件是否已经被包含过,如果是则不会再次包含。

参见 include_once 的文档来理解 _once 的含义,并理解与没有 _once 时候有什么不同。

有一个文件a.php,里面有一个变量$var=1;我在b.php 中用require_once()函数引用了a.php文件,然后我在c.php 中用require_once()引用了b.php文件,在c.php中有一个函数 需要引用a.php中的变量$var. 但却访问不了 变量的值为空
如果我想访问变量$var该怎么做。

require_once() 为了避免重复加载文件。 意为:加载文件一次

require_once() 语句在脚本执行期间包括并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。

一般都用在包含文件的时候,比如你写了一个类文件a.php,这个文件主要是定义类,代码可能如下:

class p
{
    
    public $a;
    function make()
    {
        
        echo $a;
    }
}

这个时候你在文件b.php中要使用到该类,就可以再b.php开头加上,require_once(a.php);来加载这个a.php,就相当于把a.php的文件的代码复制到了b.php中。

类似的方法还有requeire(),include(),include_once()其中带_once字样的方法都是声明只加载一次,因为你require_once()的别文件中可能已经require_once(a.php)了,如果再加载就造成重复加载,代码量会增加造成解析减慢。

我帮你测试过了,没有问题,require_once就行

    <?php
    
    $a=123;
    
    ?>
    
    //b.php:
    
    <?php
    require_once("a.php");
    
    ?>
    
    //c.php:
    
    <?php
    require_once("b.php");
    
    echo $a;
    
    ?>

本文由 来鹏飞 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论