检查是否已经要求课程

时间:2012-11-30 21:26:29

标签: php autoload

我构建了一个自动加载方法,基本上如下:

public function load_class($class){
    $path = str_replace('_', '/', $class);
    if(file_exists(get_template_directory() . '/' . $path . '.php')){
        require_once(get_template_directory() . '/' . $path . '.php');
    }
}

我想做的其中一件事是:

如果已经需要这个类,则只需调用它,而不是每次调用,扩展或实例化类时都必须执行require_once()。

我怎么不知道如何做到这一点......那就是我要求帮助的地方,或者一旦需要,require_once基本上“缓存”了这个类吗?我的理解是每次通话只需要一次。这是每次调用它必须再次要求.... ???

1 个答案:

答案 0 :(得分:1)

如果您将其用作自动加载器,则只有在首次定义类时才会运行。

除此之外,require_once()会跟踪已加载的文件。如果您在同一个文件上再次呼叫require_once(),则不会发生任何事情。