嵌套if语句中执行时间更短:__autoload
或include
?
两者之间哪个更不易出错?
答案 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
,大部分时间(大多数情况下都会)花在加载,解析和编译包含的内容上源代码。相比之下,执行那几行自动装置功能几乎无关紧要。