PHP require(),include(),require_once()和include_once()之间的区别

看到网上关于require和include如何选择,亲测并总结了一下:

1. _once 后缀表示不会重复加载。

2. 报错:

  • include引入文件的时候,如果碰到错误,则会抛出提示,并继续运行下边的代码(Warning);
  • require引入文件的时候,如果碰到错误,则会抛出提示,并停止运行下边的代码(Fatal error);

3. 实践:

require - 包含函数和变量。通常放在程序的最开始,PHP 程序在执行前,就会先读入 require 所指定引入的文件,成为网页的一部份。
include - 通常放在流程控制的处理部分来简化流程。PHP 程序网页在读到 include 的文件时,才将它读进来。

4. 在 PHP 4.0.2 之前适用以下规则:

require() 总是会尝试读取目标文件,即使它所在的行根本就不会执行。条件语句不会影响 require()。不过如果 require() 所在的行没有执行,则目标文件中的代码也不会执行。同样,循环结构也不影响 require() 的行为。尽管目标文件中包含的代码仍然是循环的主体,但 require() 本身只会运行一次。 

5. 返回值:

虽然include()和require()成功引用后都会返回1,但是鉴于require()一旦引用失败就会fatal,那么也就只有$ret = include('foobar.php')去判断$ret才会有实际意义。

你可能感兴趣的:(include)