【发布时间】:2011-04-23 19:50:06
【问题描述】:
如果我将 include 或 require 语句放在计算结果为 false 的条件中,PHP 解释器会完全跳过包含文件,还是会加载它以防万一?
一个例子是:
if ($some_user_var) {
require 'this.php';
} else {
//do stuff
}
我在某处读到require 将始终被解释器包含,而不管条件如何,但include 不会。如果是这种情况,仅仅从require 切换到include 可能意味着由于减少了 I/O 和解析开销而可以免费加速。
如果我运行像 eAccelerator 这样的预处理器可能会有所不同,但假设我没有。
【问题讨论】:
-
我认为你在某处读到的内容是这样的:
require将中止执行并出现致命错误,而include不会(当然是失败)。可以解释为require将始终包含您的文件,否则脚本将死。 -
您有这本书吗? amazon.co.uk/PHP-World-Wide-Web-Quickstart/dp/0321245652我也被灌输了这个谎言!
标签: php performance include conditional