-
弑天下
列一下俺常用的避免require/include的方法。 使用__autoload php5可以使用__autoload来避免require,用的好的话,代码里头甚至看不到几个require,实在是安逸啊。测试结果表明,使用__autoload之后的new Foo; 比require_once ‘foo.php’; new Foo; 大概要快3倍左右。 补充:为了避免autoload冲突,可以考虑使用spl_autoload_register(PHP 5 >= 5.1.2)来改变魔术函数__autoload的行为。 使用defined检测是否载入过 在代码开头使用defined检测是否定义过对应的常量,如果有的话,直接return。
-
杨__羊羊
1. require_once()和include_once()是 PHP 4.0.1pl2 中新加入的.(为了兼容肯定不能把include()和require()一下子就抛弃)2.require_once()和include_once()需要额外的去查看系统是否已经调用过这个文件. 因为它们在一个opcode缓存下的调用非常慢.所以效率上比其它两个函数要差一些.(据说php5.2.*以后效率问题被解决)3.php说不定以后就会把include()实现成include_once()的"名字连接",象implode()和join(),exit()和die()一样...(这个是我瞎猜的....)
-
一只甜甜圈
在php中使用require_once/include_once虽然方便,但是代价昂贵,据测试数据来看,require_once比require慢3-4倍,所以在php开发中,我们应该尽量使用require/include。 为了避免autoload冲突,可以考虑使用spl_autoload_register(PHP 5 >= 5.1.2)来改变魔术函数__autoload的行为。 使用defined检测是否载入过 在代码开头使用defined检测是否定义过对应的常量,如果有的话,直接return。