Conditions | 3 |
Paths | 3 |
Total Lines | 21 |
Code Lines | 11 |
Lines | 0 |
Ratio | 0 % |
Tests | 7 |
CRAP Score | 3 |
Changes | 1 | ||
Bugs | 0 | Features | 1 |
1 | <?php |
||
17 | public static function fromClassName(string $fullClassName): string |
||
18 | 62 | { |
|
19 | 55 | if (isset(self::$cache[$fullClassName])) { |
|
20 | return self::$cache[$fullClassName]; |
||
21 | } |
||
22 | 7 | ||
23 | 7 | preg_match('~(?<pre_namespace>.*)\\\(?<resolvable_type>.*)~', $fullClassName, $matches); |
|
24 | 7 | ||
25 | 7 | $resolvableType = ResolvableType::fromClassName($matches['resolvable_type'] ?? ''); |
|
26 | 7 | ||
27 | if ($resolvableType->moduleName() === '') { |
||
28 | return self::$cache[$fullClassName] = sprintf('\\%s', ltrim($fullClassName, '\\')); |
||
29 | } |
||
30 | |||
31 | self::$cache[$fullClassName] = sprintf( |
||
32 | '\\%s\\%s', |
||
33 | ltrim($matches['pre_namespace'] ?? '', '\\'), |
||
34 | $resolvableType->resolvableType(), |
||
35 | ); |
||
36 | |||
37 | return self::$cache[$fullClassName]; |
||
38 | } |
||
40 |