首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP __autoload性能

PHP __autoload性能
EN

Stack Overflow用户
提问于 2010-07-26 08:51:07
回答 2查看 2.7K关注 0票数 8

我有一个脚本,它使用autoload加载找不到的类。我没有刻意包含文件(虽然我可以),但我希望autoload函数包含所需的文件。

因为脚本可以是递归的,也就是说,如果类已经装入,我不想检查相应的文件是否装入,以及脚本的每一次递归是否执行class_exists

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-26 08:53:39

如果你想避免__autoload,你可以使用require_once而不是include

使用__autoload可能会对性能造成相当大的影响,特别是因为某些操作码缓存不能正确地支持它。但是,考虑到它非常方便,我建议您使用它,除非您的操作码缓存不缓存autoload include。

票数 9
EN

Stack Overflow用户

发布于 2010-07-26 09:06:15

如果您将自动加载器设置为加载您的类,并且没有使用require (等人)。只有在引用了不存在的类时,才会调用autoloader。因此,永远不需要在自动加载器中检查class_exists (如果类存在,就不会调用它)。

关于性能。如果你使用的是大型库,自动加载实际上会更快,因为它只加载所需的文件/类。无论哪种方式,在我的经验中,速度命中率都可以忽略不计(正如其他人所提到的,总是使用操作码缓存)。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3331654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档