优秀的编程知识分享平台

网站首页 > 技术文章 正文

include、include_once、require、require_once

nanyue 2024-08-07 18:55:32 技术文章 9 ℃

对比

方法

文件导入时机

被导入文件出错处理机制

被导入文件不存在或运行报错

是否会重复包含

include

文件在运行是导入,所以不一定会被导入

抛出警告,继续执行

多次调用,会多次导入

include_once

多次调用,只导入一次

require

文件在解析的时候导入,所以一定被导入

抛出错误,停之执行

多次调用,会多次导入

require_once

多次调用,只导入一次

导入文件时机

Bash
<?php
if (false) {
  // 只有代码运行到此处的时候才会导入 demo.php 文件
  include('demo.php');
}

if (false) {
  // 即使条件是fase,解析程序首先在解析的时候就会执行此处的导入操作
  require('demo.php');
}

所以 require 语句一般放在php文件最顶部,用于加载必要的代码。

而 include 语句一般是放在流程控制代码段中执行,有条件的加载其他文件代码。

带有 _once 后缀的差异

include 和 include_once 的用法一致,唯一区别是先判断一下这个文件在之前是否已经被包含过,如已经包含,则忽略本次包含。但是在使用 include() 时,可以忽略"()",如直接写成 include 'demo.php';

require 和 require_once 的差异同上。

有无返回值

include 有返回值,require 没有返回值

Bash
$res = include('demo.php');
if (!empty($res)) {
  echo '文件导入成功';
} else {
  echo '文件导入失败';
}
最近发表
标签列表