include、require、include_once、require_once的区别

  include和require的区别可看下面的代码:
 
<?php
include 'nonexistent.php';
echo 'include不存在的文件会报出Warning然后继续执行后面的代码';
 
<?php
require 'nonexistent.php';
echo 'require不存在的文件会报出Fatal error然后终止执行后面的代码'; // 注:这段文字不会输出
 
  至于有“_once”和没有“_once”的区别就很简单了,从字面上就可以知道有“_once”只会引入文件一次。如果file1.php和file2.php各自引入对方,那么就只能使用include_once或require_once,否则会造成引入死循环。
 
  include和require的选择:两者使用哪个可根据实际情况决定,通常系统运行必备的(数据库配置文件等)使用require,而非必备的(流量统计文件)使用include,但是在实际开发中两者基本没有区别,通常统一使用require。
 
  require或require_once的选择:很明显,由于require_once会检查文件是否已经被引入,所以性能上会比require低一些,但是这点性能差异对程序效率的影响十分微弱,而使用require_once则可以避免很多问题,所以实际开发中建议只使用require_once,把精力放在优化数据库和SQL上面,这比修改多少个require_once都有用。(PS:如果开发前规划好目录结构,统一使用require也未尝不可。)
 
  额外说明
 
  include、require、include_once、require_once不是函数,而是关键字。有些系统会使用“require_once('file.php');”的写法,但require_once的确不是函数,使用“require_once 'file.php';”也能引入文件就是证明。
 
  include、require、include_once、require_once能引入有return语句的文件,如file1.php文件return $value;,那么其它文件可使用$val = require 'file1.php';来接收返回值。

Copyright © 2024 码农人生. All Rights Reserved