懒加载?避免它更好吗?

Sho*_*hoe 7 php design-patterns lazy-loading

我刚刚读到了关于"延迟加载"设计模式的内容.

是否可以过度使用延迟加载来加载所有类并include(..)完全忘记?
这种方法的缺点是什么?

mfo*_*nda 6

有几点关于自动加载:

  1. 通过使用自动加载而不是始终包含所有文件(特别是随着文件数量越来越大),您将看到良好的性能提升.

  2. 当实现自动加载,它是更好地使用 spl_autoload_register()__autoload().

虽然很多时候人们谈论PHP中的延迟加载,但他们谈论的内容如下:

class Foo {
    protected $bar = null;

    public function getBar() {
        if ($this->bar == null) {
            $this->bar = ExpensiveOperation();
        }
        return $this->bar;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,您只需在实际需要使用时加载属性,而不是每次实例化对象时都可以,这可能会带来一些好处.