哪个在__autoload()或include / require之间更有效?

时间:2011-07-25 10:57:45

标签: php autoload micro-optimization

嵌套if语句中执行时间更短:__autoloadinclude? 两者之间哪个更不易出错?

4 个答案:

答案 0 :(得分:3)

spl_autoload_register(而不是__autoload)应该是更强大的选项:它允许您编写比include语句更灵活的代码,并且您可以保留所有内容集中。

关于性能,恕我直言,除非你已经测量到你的页面加载时间的很大一部分用于加载包括,否则讨论它没有意义。即使这是真的,您也应该使用PHP操作码缓存来加快应用程序的速度,而不是试图通过在include和自动加载之间切换来提取边际收益。

答案 1 :(得分:2)

只需使用include / require并获得可读,可维护和标准的代码。这比可能保存的0.001秒重要得多。

顺便问一下,您确定需要PHP脚本的极致性能吗?包含真的是瓶颈吗?

答案 2 :(得分:0)

查看:http://framework.zend.com/manual/en/performance.classloading.html

require_once实际上是一项昂贵的操作(检查文件是否已加载)。 自动加载会改善您的表现

正如Jon建议的那样,您可能想尝试spl_autoload_register而不是__autoload(请参阅他的回答)。

但是,请注意这是一个小优化,我只是给你的问题一个答案。

编辑:首先,我写了与我现在建议相反的内容,所以我更新了我的答案。

答案 3 :(得分:0)

无论您使用的是include / require还是__autoload / spl_autoload,大部分时间(大多数情况下都会)花在加载,解析和编译包含的内容上源代码。相比之下,执行那几行自动装置功能几乎无关紧要。