require、include、require_once和include_once到底有什么区别呢?相信很多PHP新手对这个问题也会感到困惑吧!
一、require和include语句
- 使用include语句引用外部文件时,当代码执行到include语句时才将外部文件引入并读取,如果所引用的文件发生错误时,系统会给出一个警告,而整个PHP文件继续向下运行。
- 而require语句的用法与include的用法相似,都是对外部文件的引用。但是在PHP脚本执行前,PHP解析器将用外部文件替换require语句,然后与其他语句组成新的PHP文件并执行该程序。
- 由于require语句是将一个源文件的内容完全复制到PHP脚本文件中,所以通常放置在脚本最前面,主要用来引用需要的公共函数以及公共类。
- require和include几乎完全一样,除了处理失败方式不同:include产生一个Warning,而require则导致一个Fatal Error
实例require和include语句
<?php
//在文件头部用require引入config.php文件
require 'config.php';
//满足条件$condition,则用include引入one.php
if($condition){
include 'one.php';
}else{
include 'other.php';
}
?>
二、 require_once和include_once
require_once和include_once语句与require和include语句类似,它们之间的区别如下。
- require_once和include_once语句会记住文件是否已经被包含,如果已经包含了,则不会再次包含。这两个语句用于在脚本执行期间且同一文件可能被包含不止一次的情况下,确保该文件只被包含一次,以避免函数和类重复定义以及变量重新赋值等。