这是一个老问题了,但是以前没有总结性的写下。这里就总结下吧。

require require_once include  include_once 在php中都是用来加载文件的。

require和include的区别主要在处理文件错误的机制上面不同。

带_once 和不带_once的区别主要是带_once的会判断你在加载这个文件之前是否已经加载过了文件,避免重复加载。

再次 require 和 include  是语句 像 echo 一样 不是函数

虽然require('file_path')也可以用但是它们不是函数,这个如果有人刁难 最好就不要写括号的加载。

下面我们细说下对于加载文件出错情况下的不同处理

require 调用文件发生错误时候,它会终止整个程序;

调用include的时候如果加载文件发生错误,它会生成警告,停止执行加载这个文件,跳出加载然后继续执行后面的代码。

require 和require_once 用于包含文件库的时候更加安全。include和include_once 则更加适用于加载模板这样的操作。前者行为更加激烈,因而更加安全。

和使用require相比,require_once 或增加额外的开销。如果想尽可能的减少系统的执行时间,应该考虑使用require。

在很多情况下,效率和便利之间是平衡关系

 

注意的:include 和require 是两个单独的语句,如果用了include_once 和 require_once 同时加载一个文件 那么还是会加载两次的哦。

 

 
  
  1. <?php  
  2. error_reporting(E_ALL); 
  3. require 'pdo_mysql.php'
  4. require_once 'pdo_mysql.php'
  5. include 'pdo_mysql.php'
  6. require_once 'pdo_mysql.php'