这是一个老问题了,但是以前没有总结性的写下。这里就总结下吧。
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 同时加载一个文件 那么还是会加载两次的哦。
- <?php
- error_reporting(E_ALL);
- require 'pdo_mysql.php';
- require_once 'pdo_mysql.php';
- include 'pdo_mysql.php';
- require_once 'pdo_mysql.php';