require、include、require_once和include_once的区别

require()语句的性能与include()相类似。都是包括并运行指定文件。不同之处在于,对include()语句来说,在执行文件时每次都要进行读取和评估;而对于require()语句来说,文件只处理一次(实际上,文件内容替换了require()语句)。这就意味着如果可能执行多次的代码,则使用require()效率比较高。另一方面,如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句。

require()语句的使用方法如require(“test.php”),这个语句通常放在PHP脚本程序的最前面。PHP程序在执行前,就会先读入require()语句所引入的文件,使它变成PHP脚本文件的一部分。include()语句的使用方法和require()语句一样如include(“test.php”)。而这个语句一般是放在流程控制的处理区段中。PHP脚本文件在读到include()语句时,才将它包含的文件读进来。这种方式,可以把程序执行时的流程简单化。

<?php
  require 'config.php';
  include('test.php');
  require 'footer.php';
?>

上例在一个脚本中使用了require()和include()两种语句,include()语句放在流程控制的处理区段中使用,当PHP脚本文件读到它时,才将它包含的文件读进来。而在文件的开头和结尾处使用require()语句,在这个脚本在执行前,就会先读入它所引入的文件,使它包含的文件成为PHP脚本文件的一部分。

include_once()和require_once()语句也是在脚本执行期间包括并运行指定文件。此行为和include()语句及require()类似,使用方法也一样。唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。这两个语句应该用于在脚本执行期间,同一个文件有可能被包括超过一次的情况下,确保它只被包括一次,以避免函数重定义以及变量重新赋值等问题。

发表评论

电子邮件地址不会被公开。 必填项已用*标注