首页 > 技术分享 > 原生PHP
收藏

PHP中require和require_once以及include的区别

05/23 09:20
大潇博客 原创文章,转载请标明出处

require、require_once、include、include_once都可以引入别的页面,有以下三种用法:

1、require '要引入的文件名';

2、require ('要引入的文件名');

3、$filePath="abc.php";  require $filePath;


他们的区别是,require遇到即包含文件,require_once会判断是否已经包含过,如果包含过,则不再包含文件。

使用“_once”,一可以节省资源,二可以避免重复定义的错误。

如:

require "example.php";

require_once "example.php"; //先判断,再引入,如果发现example.php已经引入,则不再引入


require和include的区别

require:先引入,再执行,如果出现错误,终止执行

include:执行时才会引入,如果出现错误,继续执行

如:引入一个不存在的“example.php”文件

require "example.php";

echo "abcd"; //不执行,程序在require时就停止了

include "example.php";

echo "abcd"; //虽然example.php不存在,引入失败,但其后的程序依然可以继续执行


还有一点与“_once”之间的区别,假设example.php文件中定义了函数“abc()”

include "example.php";

include "example.php";  //报错“Fatal error: Cannot redeclare abc()..”重复定义abc方法

require "example.php"; 

require "example.php";  //报错“Fatal error: Cannot redeclare abc()..”重复定义abc方法

可以正常执行的方式为:

include_once "example.php";

include_once "example.php";  //正常,虽写法重复,实际只引入一次,每次都会执行是否引入过的判断

//或者

require_once "example.php";

require_once "example.php";  //同上


做项目时,多用require_once


打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311