老的项目很多不规范,到处都是require/include_once。为了不再到处写require/include(_once)了,应该给项目写个自动加载器了,避免重复加载和建立规范。个人觉得require_once和require之间的性能差异不大,特别是开启了APC缓存后,手动加载和自动加载之间的差异也不大。关于APC缓存类文件有争议,建议阅读参考链接和相关评论。
function autoloader($class){ if (class_exists($class, false) || interface_exists($class, false)) {//如果已存在就不需要了 return; } $directorys = array( MVC_PATH.'/'.'library'.'/', MVC_PATH.'/' ); $file = str_replace('_', '/', $class) . '.php';//对类命名进行文件路径解析映射 foreach($directorys as $directory){ if(file_exists($directory.$file)){ require_once($directory.$file); return; } } } spl_autoload_register(autoloader);