require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。

include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。

他们两个的用途是完全一样的,不一定非得哪个放在最前面哪个放在中间。他们最根本的区别在于错误处理的方式不一样。

require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误 
include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。

以下为补充:

1. include有返回值,而require没有。

2. include()包括并运行指定文件 在处理失败时include() 产生一个警告,被导入的程序代码都会被执行,而且这些程序在执行的时候会拥有和源文件中呼叫到include()语句的位置相同的变量范围。你可以导入同一个服务器中的静态页面。

3. include_once()的作用和include()是几乎相同的 
唯一的差别在于include_once()会先检查要导入的档案是不是已经在该程序中的其它地方被导入过了,如果有的话就不会再次重复导入(这项功能有时候是很重要的,比方说要导入的里面宣告了一些你自行定义好的函数,那么如果在同一个程序重复导入这个文件,在第二次导入的时候便会发生错误讯息,因为PHP不允许相同名称的函数被重复宣告第二次)。

4. require()会将目标文件的内容读入,并且把自己本身代换成这些读入的内容 在处理失败时require() 则导致一个致命错。 
这个读入并且代换的动作是在PHP引擎编译你的程序代码的时候发生的,而不是发生在PHP引擎开始执行编译好的程序代码的时候(PHP 3.0引擎的工作方式是编译一行执行一行,但是到了PHP 4.0以后就有所改变了,PHP 4.0是先把整个程序代码全部编译完成后,再将这些编译好的程序代码一次执行完毕,在编译的过程中不会执行任何程序代码)。require()通常来导入静态的内容,而include()则适合用导入动态的程序代码。

5. 如同include_once(),require_once()会先检查目标文件的内容是不是在之前就已经导入过了,如果是的话,便不会再次重复导入同样的内容。

5. require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require。

7. require通常放在PHP程序的最前面,PHP程序在执行前,就会先读入require所指定引入的文件,使它变成PHP程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。

8. include一般是放在流程控制的处理部分中PHP程序网页在读到include的文件时,才将它读进来。这种方式可以把程序执行时的流程简单化。

最新文章

  1. linux perf - 性能测试和优化工具
  2. 无边框窗体和timer控件
  3. Asp.net MVC 路由基础
  4. webuploader横向按钮样式
  5. CoreAnimation-07-CAAnimationGroup
  6. PHP学习(五)----jQuery和JSON数据
  7. js 中文乱码
  8. Best practice for Invoke other scripts or exe in PowerShell
  9. 部署在服务器中的WebService
  10. python爬虫第一天
  11. ubuntu 的挂起与休眠
  12. CSS3动画效果transition
  13. SQL Server没有足够的内存继续执行程序 (mscorlib)的解决办法
  14. oracle RAC 查询告警日志位置
  15. 添加删除mysql用户
  16. Application类
  17. 解决使用vue-cli生成项目后项目地址自动添加#号的问题
  18. Swift iOS 文件操作:沙盒(SandBox)、程序包(NSBundle)
  19. Linux 下编译出现 undefined reference to `pthread_create'
  20. Java实现递归将嵌套Map里的字段名由驼峰转为下划线

热门文章

  1. C. Quiz 贪心 + 数学
  2. 机器学习概念之特征选择(Feature selection)
  3. 合理设置apache的连接数及进程工作方式
  4. SQL系列函数——数学函数
  5. spring mvc 通过拦截器记录请求数据和响应数据
  6. CF983A Finite or not?
  7. linux的top下buffer与cache的区别
  8. JS学习-事件响应小结-简单的计算器
  9. Azure PowerShell 在ARM环境下使用指定 vhd(本地化后的磁盘) 来创建虚拟机
  10. ASP.NET Core 企业级开发架构简介及框架汇总 (转载)