0

我有三个文件

/autoload-test.php

spl_autoload_register(function ($class) {
    require_once($_SERVER['DOCUMENT_ROOT'] . '/controllers/' . $class . '.php');
});
$different_file_obj = new test;

/控制器/test.php

require_once('some_var.php');
class test {
        function __construct() {
                echo $GLOBALS['var'];
            }
    }

/控制器/some_var.php

$var = 'some value';

当我在浏览器中打开文件 1 时,它给了我这个 -> 注意:未定义索引:第 7 行 /Applications/XAMPP/xamppfiles/htdocs/avrs/controllers/test.php 中的 var

但是如果我将文件更改为 ->

require_once($_SERVER['DOCUMENT_ROOT'] . '/controllers/test.php');
$different_file_obj = new test;

它工作正常,所以我认为使用 spl_autoload_register 包含文件有一些不同,因为这是我在这里唯一要更改的内容。包括没有 spl_autoload_register 工作得很好。

有什么我应该知道的,或者我可以在哪里阅读有关此的详细信息?

4

0 回答 0