关于这个话题似乎仍然有一些困惑,但是在大多数情况下,它归结为缓解vs性能。
一个很好的邮件列表线程是zend frameworks邮件列表中的这个线程:
http://n4.nabble.com/ZF-and-Autoloading-td640085i20.html
现在,这里的相关性是因为如果继承自尚未定义的
类,您可以依赖autoload来定义它(尽管您也可以
依赖include),而实际上自动装载设备的存在可能
鼓励你使用这样的遗产。但这不是自动加载
这会带来麻烦(看看拉莫斯在
一些麻烦事的例子)。
所以正确的说法应该是“那些倾向于依靠自体移植的人”
也可以使用不受编译时绑定限制的代码”。看不见的
当然,作为自动加载错误,仅仅避免自动加载对
你还得重写你的代码以便
可能发生编译时绑定。它与
例如,使用“new”自动加载。
关于上述影响的减缓,即
编译时绑定-代码确实变慢了一些
代码可能会在某些模糊的情况下给操作码缓存带来一些麻烦
(不是在自动加载的情况下,而是在定义了类的情况下
内部条件,或者,上帝禁止,不同的定义被创造
但这与使用
自动加载。
然而,经济放缓的程度似乎因
人们-这没什么(我重复说清楚-
没有什么
)比较
由于缺少操作码缓存而带来的性能优势
磁盘操作和编译阶段。你也许可以
构建一个人工基准,它将显示一些重要的
但我不相信任何真正的应用程序会注意到。
来源:
http://n4.nabble.com/ZF-and-Autoloading-td640085i20.html#a640092