require() 语句的性能与 include() 相类似,都是包括并运行指定文件。不同之处在于:对 include() 语句来说,在执行文件时每次都要进行读取和评估;而对于 require() 来说,文件只处理一次(实际上,文件内容替换 require() 语句)。这就意味着如果可能执行多次的代码,则使用 require() 效率比较高。另外一方面,如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用 include() 语句。
require() 的使用方法如:
require("myfile.php")
这个语句通常放在 PHP 脚本程序的最前面。PHP 程序在执行前,就会先读入 require() 语句所引入的文件,使它变成 PHP 脚本文件的一部分。
include() 使用方法和 require 一样如:
include("myfile.php")
这个语句一般是放在流程控制的处理区段中。
PHP 脚本文件在读到 include() 语句时,才将它包含的文件读取进来。这种方式,可以把程式执行时的流程简单化。
-
incluce 在用到时加载
-
require 在一开始就加载
-
_once 后缀表示已加载的不加载
PHP 系统在加载PHP程序时有一个伪编译过程,可使程序运行速度加快。但 incluce 的文档仍为解释执行。include 的文件中出错了,主程序继续往下执行,require 的文件出错了,主程序也停了,所以包含的文件出错对系统影响不大的话(如界面文件)就用 include,否则用 require。
require() 和 include() 语句是语言结构,不是真正的函数,可以像 php 中其他的语言结构一样,例如 echo() 可以使用 echo("ab") 形式,也可以使用 echo "abc" 形式输出字符串 abc。require() 和i nclude() 语句也可以不加圆括号而直接加参数。
include_once() 和 require_once() 语句也是在脚本执行期间包括运行指定文件。此行为和 include() 语句及 require() 类似,使用方法也一样。唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。这两个语句应该用于在脚本执行期间,同一个文件有可能被包括超过一次的情况下,确保它只被包括一次,以避免函数重定义以及变量重新赋值等问题。