返回列表 回复 发帖

[总结] 包含文件你用哪一种?

[总结] 包含文件你用哪一种?

多选投票: ( 最多可选 5 项 ), 共有 247 人参与投票





您所在的用户组没有投票权限
本帖最后由 七月十五 于 2009-5-20 13:12 编辑

简要说明一下:
1、require:无条件包含,也就是在 if(0) { require('file.php'); } 情况下也会把文件包含进来。
2、require_once:同上,但已包含过一次的文件,不再包含进来。
3、include:有条件包含,if(0) { include('file.php'); } 情况下不包含文件进来。但同一文件包含两次的情况下均包含进来。容易引起类同名错误。
4、include_once:同上,同一个文件多次包含及包含一次。
5、set_include_path:设定包含路径,一次搞定多个文件的包含。需配合get_include_path和上面四个函数来使用。依在下愚见,包含文件用这个应该是最高效的。


后记:有资料显示PHP对于include和require的机制已作调整,PHP5的require也不再是无条件包含,所以此投票发起者显然考虑不足。有误导之嫌。这里七月十五向大家致歉,让大家糊涂了。
推荐大家在包含文件时使用set_include_path结合require_once来完成,当然效率还是值得研究了。
PHP中同一功能不同函数实现的情况很多,考虑到兼容性、效率等因素,大家在实际应用时要合理取舍。
3、include:有条件包含,if(0) { include('file.php'); } 情况下不包含文件进来。但同一文件包含两次的情况下均包含进来。容易引起类同名错误。

这叫什么意思???    我如果在外转引入一次...再判断的时候?? 就不管是真是假??都会引入???
PHPchina 技术交流群: 39937266
菜鸟学会PHP最快而且有效的方法: 先飞!
| 大家都要保护我!!让我成长 |
PHPnew 6.0 Professional PHPnew 助站
once效率相对低
set_include_path 好像不能在安全模式下用

偶用require
我觉得虽然once效率略低,但会使程序更健壮
$linvo = new PHPer();
Linvo's blog
这不很明显吗。肯定是因情况而定啊
不清楚PHP搞这么包含来做什么,实际应该中,我们应该用最后两种。
include_once的原理是:如果没有被包含过则包含。
include的原理是:不管之前有没有被包含,直接包含进来。

这就是所谓的效率,因为once有一个if判断。而对我们来说同样的文件在同一个会话中包含了两次或更多是不可容忍的。

set_include_path方法严格来说不能说是包含文件,而是为包含文件指名了路径,免去判断路径之苦。

实际使用时,我个人认为应该用include_once。

以上一家之言,姑妄听之
15 说说  set_include_path的用法
例如有有一个 include文件夹
下面有1.php  2.php  3.php
我在index.php 需要引用这3个文件
之前我都是用 require_once

能说说 如果用set_include_path
怎么做 效果才能和之前的一样吗……
大连PHP新手群:36253168  欢迎一起讨论PHP我的站http://www.1515.net.cn  http://www.shenzhi.name
1.  require  
一直用require 也推荐用1.  require
工作工作工作工作
once在最新版的php里效率已经不低了...郁闷.为什么现在还有人说效率低呢...


LZ的简要说明,已经说出了这些东西该怎么用了...综合着用.要不然为什么要有这么多让你选择

[ 本帖最后由 mayongzhan 于 2008-6-14 18:09 编辑 ]
返回列表