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

Loader::getClassName()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

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