require与include区别
<?php
include 'no.php';
echo '123';
?>
这段代码,如果no.php文件不存在,首先会报错,但是echo '123'这句是可以继续执行的
<?php
require 'no.php';
echo '123';
?>
然而这段代码,如果no.php文件不存在,在require时就停止了,echo '123'这句是不执行的
总结一:在引入不存在的文件时,include() 产生一个警告,而require() 则导致一个致命错误
if($something){
include("somefile");
}
变量$something为真,才会包含somefile文件
if($something){
require("somefile");
}
不管变量$something为真还是假,都会包含somefile文件
总结二:include()是有条件包含函数,可以有选择地包含,而 require()则是无条件包含函数,无论如何都会包含文件
总结三:require()语句的功能与include()相类似,都是包括并运行指定文件。不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换require()语句)。这就意味着如果可能执行多次的代码,则使用require()效率比较高。另外一方面,如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句。
include与include_once的区别(require与require_once区别)
<?php
require '1.php';
require '1.php';
?>
这种情况下1.php被包含两次
<?php
require '1.php';
require_once '1.php';
?>
这种情况下,第二次包含时,是不会进行包含的
总结:include_once (require_once)语句在执行时会查询一遍已加载文件列表,如果文件已存在,则不会再次包含,include(require)则相反
include、include_once、require、require_once抉择问题
通常:include_once和require_once会有性能上的下降,因为他需要判断之前是否包含过。一般情况下,不太需要去考虑
require通常使用方法:这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
include通常使用方法:这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
网友评论