gluon-web-remote

Web remote Administration for big size of gluon routers
git clone git://archive.git.mtrnord.blog/MTRNord/gluon-web-remote.git
Log | Files | Refs | README

AutoLoader.php (1111B)


      1 <?php
      2 class AutoLoader {
      3   static private $classNames = array();
      4   /**
      5    * Store the filename (sans extension) & full path of all ".php" files found
      6    */
      7    public static function registerDirectory($dirName) {
      8      $di = new DirectoryIterator($dirName);
      9      foreach ($di as $file) {
     10        if ($file->isDir() && !$file->isLink() && !$file->isDot()) {
     11          // recurse into directories other than a few special ones
     12          self::registerDirectory($file->getPathname());
     13        } elseif (substr($file->getFilename(), -4) === '.php') {
     14          // save the class name / path of a .php file found
     15          $className = substr($file->getFilename(), 0, -4);
     16          AutoLoader::registerClass($className, $file->getPathname());
     17        }
     18      }
     19    }
     20    public static function registerClass($className, $fileName) {
     21      AutoLoader::$classNames[$className] = $fileName;
     22    }
     23    public static function loadClass($className) {
     24      if (isset(AutoLoader::$classNames[$className])) {
     25        require_once(AutoLoader::$classNames[$className]);
     26      }
     27    }
     28  }
     29  spl_autoload_register(array('AutoLoader', 'loadClass'));