AutoLoader::loadClass()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

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