博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

require 与 include 的区别

Posted on 2017-05-08 16:15  IT_LM  阅读(182)  评论(0编辑  收藏  举报

require 的英文意思是 需要,有赖于。如果使用了这条语句,也就是告诉PHP内核,我这个程序需要这个文件,有赖于这个文件。或者通俗点儿讲就是:我要她!所以,PHP如果发现require参数中的文件不存在的话,就会报fatal error,并且停止执行下面的语句。

include 的英文意思是 包括,包含。如果使用了这条语句,也就是告诉PHP内核,程序执行时,把这个文件包含进来。通俗点儿讲就是:带上她!所以,PHP如果找不到的话,仅仅会提示说,找不到她,无法带上她。而不会停止下面脚本的执行,因为我们并没有告诉PHP内核,下面的程序有赖于这个子文件。

 

include 和 require 除了处理错误的方式不同之外,在其他方面都是相同的:

  • require 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行。
  • include 生成一个警告(E_WARNING),在错误发生后脚本会继续执行。

因此,如果您希望继续执行,并向用户输出结果,即使包含文件已丢失,那么请使用 include。否则,在框架、CMS 或者复杂的 PHP 应用程序编程中,请始终使用 require 向执行流引用关键文件。这有助于提高应用程序的安全性和完整性,在某个关键文件意外丢失的情况下。

包含文件省去了大量的工作。这意味着您可以为所有网页创建标准页头、页脚或者菜单文件。然后,在页头需要更新时,您只需更新这个页头包含文件即可。