常用的避免require/include的方法

来源:互联网 发布:衬衫 知乎 编辑:程序博客网 时间:2024/06/10 16:43

常用的避免require/include的方法
1、使用魔术函数__autoload
php5可以使用__autoload来避免require,用的好的话,代码里头甚至看不到几个require,真是不错的东西。测试结果表明,使用__autoload之后比require_once然后再实例化大概要快3倍左右。这个函数最大的用处就是在实例化一个未明确定义的类时去寻找相应的文件并载入(是动态加载哦~)。

view source
print?
1<?php
2function __autoload($class_name) {
3     require_once $class_name . '.php';
4}
5$obj  = new MyClass1();
6$obj2 = new MyClass2();
7?>


ps:为了减少与其它第三方类库产生冲突的可能,建议不要直接使用__autoload,而是使用spl_autoload_register(PHP 5 >= 5.1.0RC1)。ZEND框架用的就是spl_autoload_register

2、require前检查
用class_exists或者function_exists检查一下,确认没有载入过再出手,至少比require_once能快上3倍。php4也可以用上。

class_exists('MyClass') or requir('/path/MyClass.class.php');

还有其他的方法来解决这个问题,但我没使用过。如果是用PHP5之后的版本,强烈推荐第一种方式。