2011-09-19 60 views
2

我成功设法“自动加载”对象:如果我重写__get()方法,我可以创建对象。我们看到类自动加载确实有优势。但是对象自动创建也有吗?到目前为止,我已经有了这些对象引用(它们都是私有的和公共的),如果我删除了引用,它就会自动公开。另一方面,代码完成不再起作用。我会说,这强烈破坏了对象类结构(没有属性)。 那么,它来得方便吗?我可以通过它获得更多的速度吗?php:object autoload - 值得吗?

+1

魔法(__get,__set等)不是很快。你不会通过使用它们来获得速度。 – jasonbar

回答

4

如果您从数据库或Web服务延迟加载对象或任何需要很长时间才能加载的对象,您可以在特定情况下获得加速。然而,speedgain不是来自__get或__set方法,而是避免加载数据,这实际上并不需要。 __get和__set只是语言结构,给你更多的机会。