2013-02-04 25 views
1

我遇到了php.net(最后一个音符)的音符。离开笔记的人说:处理和执行的区别?

在全局范围内使用return,它将结束执行但不处理。

我不知道“执行”和“处理”的确切含义以及它们之间的区别。

回答

1

请注意,这两个条款已写入用户,而不是来自PHP手册本身,但是相同的PHP页面回答你的问题:

如果从全球范围内调用,然后执行当前脚本 文件结束。如果包含或需要当前脚本文件,则将控制权传递回调用文件。此外,如果包含 当前脚本文件,则返回的值将返回为 作为包含调用的值。如果在主脚本文件中从 调用返回,则脚本执行结束。如果 当前脚本文件是由php.ini中的auto_prepend_file或 auto_append_file配置选项命名的,则该脚本 文件的执行结束。

因此,即使当处理完成当前文件返回时,它也会将控制返回到包含它的文件(如果是)。如果它没有任何地方包括再处理和执行都将停在那里

而且就在这点中的一个重要的意见解释

现在,PHP的工作方式是执行实际的代码之前它什么 你调用“处理”实际上只是一种语法检查。它在执行该文件之前每次执行每个文件都会执行此操作 。这 是一个很好的功能,因为它确保不运行 非功能代码的任何部分。你的例子也可能说...是 ,在做这种语法检查它不执行代码,只是通过你的文件(或包含)运行 检查执行 之前的语法错误。为了表明这一点,你应该把回声“b”;并回显“a”; 在每个文件的开始。这将显示“b”被回显一次, 然后“a”仅回显一次,因为第一次语法 检查了a.php,那就没问题。但是第二次语法检查失败 ,因此由于语法错误它不再被执行并终止执行 应用程序。

参考两种行情:PHP Manual

+0

其实,我的帖子前阅读所有的笔记。这只是我不能理解的最后一个注释。 – cyhcyhhychyc

相关问题