include 语句包含并运行指定文件
include_once 语句在脚本执行期间包含并运行指定文件。此行为和 include 语句类似,唯一区别是如果该文件中已经被包含过,则不会再次包含。如同此语句名字暗示的那样,只会包含一次。
require 和 include 几乎完全一样,除了处理失败的方式不同之外。require 在出错时产生 E_COMPILE_ERROR
级别的错误。换句话说将导致脚本中止而 include 只产生警告(E_WARNING
),脚本会继续运行。
require_once 语句和 require 语句完全相同,唯一区别是 PHP 会检查该文件是否已经被包含过,如果是则不会再次包含。
以上是对这四个函数的介绍 ,下面来验证一下。首先看看
include与require的区别
include与require除了在处理引入文件的方式不同外,最大的区别就是:include在引入不存文件时产生一个警告且脚本还会继续执行,而require则会导致一个致命性错误且脚本停止执行
<?php include 't.php'; echo PHP_EOL.'------include----'.PHP_EOL;
如果t.php文件不存在,echo语句是可以被执行的。代码执行效果如下:
<?php require 't.php'; echo PHP_EOL.'------require----'.PHP_EOL;
如果t.php文件不存在,echo语句是不被执行的。代码执行效果如下:
include与include_once的区别(require与require_once的区别)
include_once (require_once)语句在脚本执行期间包含并运行指定文件。此行为和 include (require)语句类似,区别是如果该文件中的代码已经被包含了,则不会再次包含,只会包含一次。include_once(require_once)需要查询一遍已加载的文件列表, 确认是否存在, 然后再加载。
<?php // 这种情况t.php被引入两次 require 't.php'; require 't.php'; echo PHP_EOL.$t.PHP_EOL;
<?php // 这种情况t.php被引入一次 require 't.php'; require_once 't.php'; echo PHP_EOL.$t.PHP_EOL;
include_once和require_once会有性能上的下降,因为他需要判断之前是否包含过。一般情况下,也不太需要去考虑,除非这已经影响到你程序的性能了。
require通常使用方法,这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
include通常使用方法,这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
评论已关闭。