所以,如果我有以下代码:
<?php
function someFunction()
{
//lots of lines of code
}
if ($someBooleanVariable)
{
//some random code
}
else
{
someFunction();
}
?>
问题1:我是否正确假设服务器将首先加载整个功能,然后可能甚至不使用它?
问题2:如果是这种情况,将功能代码置于括号内是不是更有效率&#34; {}&#34;在上一个代码中的else之后? (假设代码只运行一次而不需要在其他任何地方使用)。
由于代码只会加载并运行,如果&#34; $ someBooleanVariable&#34;是假的,我认为如果代码不是在函数中而是在&#34; else&#34;之后的括号内,服务器将被使用较少。但是我假设服务器每次都自动加载函数代码,因为它位于页面的顶部,这可能是问题的根源。
答案 0 :(得分:1)
PHP必须解析WHOLE文件,从中创建一些表示源代码的字节码,然后执行该字节码。
放置函数的位置并不重要 - 它将始终被解析并生成字节码。
一旦它是字节码,执行路径可能会有所不同,即可能不会调用该函数,但我没有看到这只会产生微小的差异。
总而言之,您在询问微观优化。如果您可以编写明确证明一种方法比另一种方法更好的代码,并且速度差异很大(即它们快10%以上),并且代码可读性不会明显变差,那么您就拥有了一个有效的案例
我认为你这里没有有效的案例。该函数将独立于其放置位置进行解析,并仅在代码路径通过时执行。