首页 > 开发 > PHP > 正文

php 类自动载入的方法

2024-05-04 23:35:52
字体:
来源:转载
供稿:网友

在PHP5之前,各个PHP框架如果要实现类的自动加载,一般都是按照某种约定自己实现一个遍历目录,自动加载所有符合约定规则的文件的类或函数。 当然,PHP5之前对面向对象的支持并不是太好,类的使用也没有现在频繁。 我们来详细探讨下吧。

php 类自动载入方法

 

 
  1. <?php 
  2. class inload  
  3. /** 
  4. * 类自动载入,不需要由开发者调用 
  5. * 
  6. * @param string $class 类文件 
  7. */ 
  8. private function autoload( $class ) 
  9. ifemptyempty($class) ) 
  10. throw new QException('加载文件不存在'.$class); 
  11. else 
  12. {  
  13. require _SPRING_.'/_Core/SpringMap.php'//框架地图 
  14. if(! file_exists$source[$class]['file'] ) ) 
  15. throw new QException('加载文件不存在'.$class); 
  16. }  
  17. require $source[$class]['file']; 
  18.  
  19. /** 
  20. * 注册或取消注册一个自动类载入方法 
  21. * 
  22. * 该方法参考 Zend Framework 
  23. * 
  24. * @param string $class 提供自动载入服务的类 
  25. * @param boolean $enabled 启用或禁用该服务 
  26. */ 
  27. private function registerAutoload($class = 'Interpreter' , $enabled = true) 
  28. if (!function_exists('spl_autoload_register')) 
  29. throw new QException('spl_autoload 不存在这个PHP的安装'); 
  30. if ($enabled === true) 
  31. spl_autoload_register(array($class'autoload')); 
  32. else 
  33. spl_autoload_unregister(array($class'autoload')); 
  34.  
  35. /** 
  36. * 析构函数 
  37. */ 
  38. public function __destruct() 
  39. self::registerAutoload('Interpreter' , false); 
  40. }  

以上所述就是本文的全部内容了,希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表