php class class 构造函数中的自动加载器

php class autoloader in the class constructor

我的 class 自动加载器在 class 构造函数中不工作。

public function __construct($place = 'site') {

    define('PLACE', $place);

    $source = ($place == 'site') ? PATH_SITE : PATH_ADMINISTRATOR;

    spl_autoload_register(function ($class) {

        // Load classes here dependent on the place location

    });
}

我该如何解决这个问题?

我假设您需要在自动加载函数中使用 $source。您需要添加 use.

spl_autoload_register(function ($class)use($source) {

    // Load classes here dependent on the place location

});

手册中的示例:http://php.net/manual/en/functions.anonymous.php#example-195