PHP中include和require的区别详解

2019-10-22  本文已影响0人  sphenginx

缘起

面试过程中经常会遇到提问有关于require_once的有关问题,而且对于程序中遇到的问题,无论难度大小,只要bug存在就还值得我们去探索,去解决。

针对这个问题,我把include和require的详细用法进行归纳。(结合查阅资料和自己的理解,整合出来的)希望能给有需要的童鞋一点帮助。

性空

include和require

PHP系统在加载PHP程序时有一个伪编译过程,可使程序运行速度加快。

但incluce的文档仍为解释执行。include的文件中出错了,会抛出 warning 级别的错误,主程序继续往下执行。

require的文件出错了,会抛出 fatal error,主程序也停了, 所以包含的文件出错对系统影响不大的话(如界面文件)就用include,否则用require。

require()和include()语句是语言结构,不是真正的函数,可以像php中其他的语言结构一样,例如echo()可以使用echo("ab")形式,也可以使用echo "abc"形式输出字符串abc。

require()和include()语句也可以不加圆括号而直接加参数。

require()语句的性能与include()相类似,都是包括并运行指定文件。不同之处在于:

这就意味着如果可能执行多次的代码,则使用require()效率比较高。另外一方面,如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句。

include_once()和require_once()

include_once()和require_once()语句也是在脚本执行期间包括运行指定文件。此行为和include()语句及require()类似,使用方法也一样。

唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。

这两个语句应该用于在脚本执行期间,同一个文件有可能被包括超过一次的情况下,确保它只被包括一次,以避免函数重定义以及变量重新赋值等问题。

上一篇 下一篇

猜你喜欢

热点阅读