Passed
Push — master ( 53c725...a8eb1b )
by Petr
07:45
created

Loader   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 8
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 4
c 0
b 0
f 0
dl 0
loc 8
ccs 0
cts 4
cp 0
rs 10
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A getClassName() 0 4 1
1
<?php
2
3
namespace kalanis\kw_modules\Loaders\Di;
4
5
6
use kalanis\kw_modules\Loaders\TSeparate;
7
8
9
/**
10
 * Class Loader
11
 * @package kalanis\kw_modules\Loaders
12
 * Load modules data from defined targets
13
 * Also use Dependency Injection
14
 * @codeCoverageIgnore contains external autoloader
15
 *
16
 * Paths:
17
 * /modules/{module_name}/php-src/{module_name}.php as init
18
 * /modules/{module_name}/php-src/Lib/* as next libraries
19
 * Namespaces:
20
 * \KWCMS\modules\{module_name}\{module_name} as init
21
 * \KWCMS\modules\{module_name}\Lib\ as next libraries
22
 *
23
 * Name is passed as first big and the rest little ( ucfirst(strtolower($x)) )
24
 * - lookup by curly braces
25
 */
26
class Loader extends ALoader
27
{
28
    use TSeparate;
29
30
    protected function getClassName(array $path): string
31
    {
32
        list($target, $constructPath) = $this->separateModule($path);
33
        return sprintf('\KWCMS\modules\%s\Controllers\%s', $target, $constructPath);
34
    }
35
}
36