AutoLoader   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 3
Bugs 0 Features 0
Metric Value
eloc 10
c 3
b 0
f 0
dl 0
loc 29
ccs 0
cts 16
cp 0
rs 10
wmc 7

4 Methods

Rating   Name   Duplication   Size   Complexity  
A unRegister() 0 3 1
A autoload() 0 8 2
A loadClass() 0 4 3
A register() 0 4 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Suricate;
6
7
class AutoLoader
8
{
9
    public static function autoload($class)
10
    {
11
        $class = str_replace('\\', DIRECTORY_SEPARATOR, $class);
12
13
        $filename = dirname(__DIR__) . DIRECTORY_SEPARATOR . $class . '.php';
14
15
        if (is_file($filename)) {
16
            include $filename;
17
        }
18
    }
19
20
    public static function loadClass($class)
21
    {
22
        if (!class_exists($class, false) && !interface_exists($class, false)) {
23
            self::autoload($class);
24
        }
25
    }
26
27
    public static function register()
28
    {
29
        ini_set('unserialize_callback_func', 'spl_autoload_call');
30
        spl_autoload_register(__NAMESPACE__ . '\Autoloader::loadClass');
31
    }
32
33
    public static function unRegister()
34
    {
35
        spl_autoload_unregister(__NAMESPACE__ . '\Autoloader::loadClass');
36
    }
37
}
38