当前位置:Gxlcms > PHP教程 > php中使用__autoload()自动加载未定义的类

php中使用__autoload()自动加载未定义的类

时间:2021-07-01 10:21:17 帮助过:12人阅读

  1. /**
  2. * 自动加载相关类库文件
  3. */
  4. function __autoload($classname){
  5. if(substr($classname,-6)=="Action"){
  6. include APP_PATH.'controllers/'.$classname.'.class.php';
  7. }elseif(substr($classname, -5)=="Model"){
  8. include APP_PATH.'models/'.$classname.'.class.php';
  9. }elseif($classname=="Smarty"){
  10. include SYSTEM_PATH.'smarty/Smarty.class.php';
  11. }else{
  12. include APP_PATH.'common/'.$classname.'.class.php';
  13. }
  14. }
  15. ?>

另一种包含路径的方法:

  1. function __autoload($class_name) {
  2. $path = str_replace('_', DIRECTORY_SEPARATOR, $class_name);
  3. require_once $path.'.php';
  4. }
  5. ?>

说明:将下划线转换为目录分隔符(DIRECTORY_SEPARATOR),这样做即可以有效管理库文件,又解决了跨平台的问题。

人气教程排行