spl_autoload_register 让类在需要的时候自动加载

当一个项目比较大的时候, 可能要包含很多的文件, 配置文件,一些module类文件, controller类 , view 类, 还有一些工具类, 搞的代码非常的复杂, 所以最好还是有一个东西当需要他的时候自动包含到文件当中。 可以 spl_autoload_register 实现这一功能, 不过你要确定你的PHP版本在 5.1.2 以上(包括5.1.2) spl_autoload_register的原理是这样的, 在你的系统中定义一个函数, 当已给类找不到的时候会调用这个函数 //先定义类的路由函数, 参数是要查找的类的名字 function myAutoload($className) { $arr = require(ROOT.’system/classes.cfg.php’); if (!empty($arr[$className])) { require_once($arr[$className]); } } //然后注册一下找不到类的时候调用这个函数 spl_autoload_register(‘myAutoload’); 大家也看到了, 我上边的代码的逻辑是这样的: 先去加载一个配置文件, 把类对应路径的配置文件的数组读取到数组 $arr 里边,然后自动包含类对应路径的文件 。 这样就可以把上网的这个代码写一个公共的文件,写在配置文件中, 然后每个文件包含配置文件就可以了。 现在大家可能还有一个问题, 就是每写一个类要手动改配置文件吗? 完全不用, 我已经写好脚本, 扫描一个目录里边所有的类, 不把它写到配置文件中去。 下载:{filelink=1} (下载链接稍后会加上来) 另外用 Smarty 的兄弟们注意了, Smarty3 [...]

posted on 2011-03-08 18:07  Megratron  阅读(326)  评论(0编辑  收藏  举报

导航