我构建了一个自动加载方法,基本上如下:
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基本上“缓存”了这个类吗?我的理解是每次通话只需要一次。这是每次调用它必须再次要求.... ???
答案 0 :(得分:1)
如果您将其用作自动加载器,则只有在首次定义类时才会运行。
除此之外,require_once()
会跟踪已加载的文件。如果您在同一个文件上再次呼叫require_once()
,则不会发生任何事情。