Passed
Push — master ( f60c10...b70f5f )
by Petr
11:33 queued 04:07
created

autoload()   A

Complexity

Conditions 6
Paths 32

Size

Total Lines 20
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 6
eloc 12
c 0
b 0
f 0
nc 32
nop 1
dl 0
loc 20
rs 9.2222
1
<?php
2
3
function autoload($className)
4
{
5
    if (!defined('AUTHOR_NAME')) {
6
        define('AUTHOR_NAME', '.');
7
    }
8
    if (!defined('PROJECT_NAME')) {
9
        define('PROJECT_NAME', '.');
10
    }
11
    if (!defined('PROJECT_DIR')) {
12
        define('PROJECT_DIR', 'src');
13
    }
14
    $className = preg_replace('#^' . AUTHOR_NAME . '\\\\' . PROJECT_NAME . '#', '', $className);
15
    $className = str_replace('\\', DIRECTORY_SEPARATOR, $className);
16
17
    if (is_file(__DIR__ . DIRECTORY_SEPARATOR . $className . '.php')) {
18
        require_once(__DIR__ . DIRECTORY_SEPARATOR . $className . '.php');
19
    }
20
21
    if (is_file(__DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . PROJECT_DIR . DIRECTORY_SEPARATOR . $className . '.php')) {
22
        require_once(__DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . PROJECT_DIR . DIRECTORY_SEPARATOR . $className . '.php');
23
    }
24
}
25
26
spl_autoload_register('autoload');
27