php require()和include()的区别
相同点:
(1) 都是包含并运行指定文件;
(2) php5以后都是有条件包含(php5的include有条件包含require无条件包含);
(3) 都是语言结构,不是真正的函数;
不同点:
(1) incluce在用到时加载,require在一开始就加载,_once后缀表示已加载的不加载;
(2) PHP系统在加载PHP程序时有一个伪编译过程,可使程序运行速度加快。但incluce的文档仍为解释执行。include的文件中出错了,主程序继续往下执行,require的文件出错了,主程序也停了。
include出错还会继续执行
require出错,直接报错停止了 |
如何选择:
(1) 如果可能执行多次该引入代码,则使用require();如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,则使用include
(2) include的文件中出错了,主程序继续往下执行,require的文件出错了,主程序也停了,所以包含的文件出错对系统影响不大的话(如界面文件)就用include,否则用require。