全部博文(2065)
分类:
2009-12-23 11:47:38
php中include与require区别整理
[整理人:hkebao#126.com
整理时间:
一、 简介
引用重复的代码片段、函数、类、文件等可以考虑使用这两个函数。
注意:include 包含的文件如果有ERROR则会报一个警告程序会继续执行。而require则不然如果遇到错误就会中止掉。
示例:
a.
php
文件代码如下:
require("c.php"); //服务器没有这个文件。用require就会报错了
echo "this is a.php";
?>
Warning:
require(c.php) []:
failed to open stream: No such file or directory in E:\persite\CODES\zt\a.php
on line 2
Fatal error: require() []: Failed
opening required 'c.php' (include_path='.;C:\php5\pear') in E:\persite\CODES\zt\a.php
on line 2现将a.php里面的代码修改成如下的代码:
include("c.php");
echo "this is a.php";
?>
运行提示:
Warning:
include(c.php) []:
failed to open stream: No such file or directory in E:\persite\CODES\zt\a.php
on line 2
Warning: include() []:
Failed opening 'c.php' for inclusion (include_path='.;C:\php5\pear') in E:\persite\CODES\zt\a.php
on line 2
this is a.php
只是警告。程序能够正常执行完!
通过使用include可以将一些静态的文件给包含进来。像网页的底部信息、顶部信息等都是可以通过include进来的!如果是程序类的代码我是用require的方法进行引用。因为我觉得如果你的程序需要用到这require里面的文件如果有错误了肯定得中止掉了!
二、性能方面的差异
如果包含这些指令之一的代码和可能执行多次的代码,则可以使用require效率高!
Require 通常是放在程式的最前面,PHP在执行前,就会读入require
所指定引入的档案,让它变成PHP程式网页的一部分。(一般像在我的MVC中的M层要使用DB的话就可以将其require进来!)
而include 表示读到这个函数的时候才将它读进来。如果没有执行到就不会引入进来!
示例:
a.php
require("b.php");
echo "this is a.php";
?>
其中的b.php代码如下:
echo " this is b.php";
?>
输出:
this is b.phpthis is a.php
再看a.php代码我修改一下
if(1==2){
require("b.php");
}
echo "this is a.php";
?>
我运行了一下:
this is a.php 并没有输出b里面的内容呀。
谁能帮我分析一下吗?谢谢