Advertisement
Guest User

Untitled

a guest
Feb 9th, 2015
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.33 KB | None | 0 0
  1. <?
  2. class woBase{
  3.     static public $baseClass = array();
  4.    
  5.     function run(){
  6.         return self::getClass('Application')->start();
  7.     }
  8.    
  9.     static function getClass($name,$run=true){
  10.         $strtolower = strtolower($name);
  11.         //echo WOPATCH.'core/'.$name.'.php<br />';
  12.         if(self::$baseClass[$strtolower]){
  13.             //echo '- '.$name.'<br />';
  14.             return self::$baseClass[$strtolower];
  15.         }else{
  16.             //echo '+ '.$name.'<br />';
  17.             if(!class_exists($strtolower,false)){
  18.                 if(is_file(WOPATCH.'core/'.$name.'.php')){
  19.                     require WOPATCH.'core/'.$name.'.php';
  20.                 }else{
  21.                     throw new ErrorHandler('getClass - Nie odnaleziono pliku klasy o nazwie '.$name);
  22.                     return false;
  23.                 }
  24.             }
  25.             $class = new ReflectionClass($strtolower);
  26.             $object =& $class->newInstance();
  27.             self::$baseClass[$strtolower] =& $object;
  28.             return $object;
  29.         }
  30.     }
  31.    
  32.    
  33.    
  34.     public static function autoload($name){
  35.         $strtolower = strtolower($name);
  36.         $dir = WOPATCH.'core/'.$name.'.php';
  37.         if(preg_match('/smarty_/',$strtolower)){
  38.             $dir = WOPATCH.'core/Smarty/sysplugins/'.$strtolower.'.php';
  39.         }
  40.             if(!class_exists($name,false)){
  41.                 if(is_file($dir)){
  42.                     require_once $dir;
  43.                     return true;
  44.                 }else{
  45.                     throw new ErrorHandler(get_class($this).' - Not found class '.$name);
  46.                     return false;
  47.                 }
  48.             }
  49.     }
  50. }
  51. spl_autoload_register(array('woBase','autoload'));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement