require() 语句的性能与 include() 相相似,都是包括并运行指定文件。不一样之处在于:对 include() 语句来讲,在执行文件时每次都要进行读取和评估;而对于 require() 来讲,文件只处理一次(实际上,文件内容替换 require() 语句)。这就意味着若是可能执行屡次的代码,则使用 require() 效率比较高。另一方面,若是每次执行代码时是读取不一样的文件,或者有经过一组文件迭代的循环,就使用 include() 语句。php
require() 使用方法如:html
require("myfile.php");
这个语句一般放在 PHP 脚本程序的最前面。PHP 程序在执行前,就会先读入 require() 语句所引入的文件,使它变成 PHP 脚本文件的一部分。ide
include() 使用方法和 require 同样如:函数
include("myfile.php");
这个语句通常是放在流程控制的处理区段中。性能
PHP 脚本文件在读到 include() 语句时,才将它包含的文件读取进来。这种方式,能够把程式执行时的流程简单化。ui
PHP 系统在加载PHP程序时有一个伪编译过程,可以使程序运行速度加快。但 incluce 的文档仍为解释执行。include 的文件中出错了,主程序继续往下执行,require 的文件出错了,主程序也停了,因此包含的文件出错对系统影响不大的话(如界面文件)就用 include,不然用 require。code
require() 和 include() 语句是语言结构,不是真正的函数,能够像 php 中其余的语言结构同样,例如 echo() 可使用 echo("ab") 形式,也可使用 echo "abc" 形式输出字符串 abc。require() 和i nclude() 语句也能够不加圆括号而直接加参数。htm
include_once() 和 require_once() 语句也是在脚本执行期间包括运行指定文件。此行为和 include() 语句及 require() 相似,使用方法也同样。惟一区别是若是该文件中的代码已经被包括了,则不会再次包括。这两个语句应该用于在脚本执行期间,同一个文件有可能被包括超过一次的状况下,确保它只被包括一次,以免函数重定义以及变量从新赋值等问题。文档
include 引入文件的时候,若是碰到错误,会给出提示,并继续运行下边的代码。字符串
require 引入文件的时候,若是碰到错误,会给出提示,并中止运行下边的代码。
用例子来讲话,写两个 php 文件,名字为 test-include.php 和 test-require.php,注意相同的目录中,不要存在一个名字是 test-nothing.php 的文件。
test-include.php
<?php include 'test-nothing.php'; echo 'abc'; ?>
test-require.php
<?php require 'test-nothing.php'; echo 'abc'; ?>
浏览 http://localhost/test-include.php 由于没有找到 test-nothing.php 文件,咱们看到了报错信息,同时,报错信息的下边显示了 abc,你看到的多是相似下边的状况:
Warning: include(test-nothing.php) [function.include]: failed to open stream: No such file or directory in D:\www\test-include.php on line 2 Warning: include() [function.include]: Failed opening 'test-nothing.php' for inclusion (include_path='.;C:\php5\pear') in D:\www\test-include.php on line 2 abc
浏览 http://localhost/test-require.php 由于没有找到 test-nothing.php 文件,咱们看到了报错信息,可是,报错信息的下边没 有显示abc,你看到的多是相似下边的状况:
Warning: require(test-nothing.php) [function.require]: failed to open stream: No such file or directory in D:\www\test-require.php on line 2 Fatal error: require() [function.require]: Failed opening required 'test-nothing' (include_path='.;C:\php5\pear') in D:\www\test-require.php on line 2
include() 执行时须要引用的文件每次都要进行读取和评估,require() 执行时须要引用的文件只处理一次(实际上执行时须要引用的文件内容替换了 require() 语句)能够看出如有包含这些指令之一的代码和可能执行屡次的代码,则使用 require() 效率比较高,若每次执行代码时相读取不一样的文件或者有经过一组文件叠代的循环,就使用 include(),能够给想要包括的文件名设置变量,当参数为 include() 时使用这个变量。
原文连接:http://www.runoob.com/w3cnote/php-different-include-and-require.html