1、require/include
相同点
- 在当前php文件中引入或包含外部文件
区别
需包含的文件不存在时:require方式会报错并中断程序执行,include方式会产生警告信息,并不会中断程序的执行
程序引入文件的时间:require在程序执行前会引入指定的所有文件(即使require语句处于当前程序执行不到的代码区),include会在程序执行到当前位置时用引入文件中的代码替换当前include语句
- include语句只有在被执行时才会读入要包含的文件
- require通常来导入静态的内容,它所包含的文件中不能有控制结构,并且不能用return返回
- include适合用于导入动态的程序代码,有返回值(文件不存在会返回false)
2、require_once/include_once
require_once()和include_once()语句分别对应于require()和include()语句。
require_once()和include_once()语句主要用于需要包含多个文件时,会先检查目标文件的内容是不是在之前就已经导入过了,如果是的话,便不会再次重复导入同样的内容,可以有效地避免把同一段代码包含进去而出现函数或变量重复定义的错误。