Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26187422
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类:

2009-12-23 11:47:38

phpincluderequire区别整理

[整理人:hkebao#126.com 整理时间:2009-12-23]

一、 简介

引用重复的代码片段、函数、类、文件等可以考虑使用这两个函数。

注意: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里面的内容呀。

谁能帮我分析一下吗?谢谢

 

阅读(856) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

hkebao2009-12-23 11:48:20

大家帮忙解释下谢谢!