Passed
Push — master ( 18cf56...d3208c )
by Bruno
07:03 queued 02:17
created

NamespaceTrait   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

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

3 Methods

Rating   Name   Duplication   Size   Complexity  
A registerFactory() 0 3 1
A getBaseNamespaces() 0 3 1
A appendBaseNamespace() 0 3 1
1
<?php declare(strict_types=1);
2
3
namespace Formularium\Factory;
4
5
trait NamespaceTrait
6
{
7
    /**
8
     * Namespaces to search
9
     *
10
     * @var string[]
11
     */
12
    protected static $baseNamespaces = [
13
        'Formularium'
14
    ];
15
16
    /**
17
     * External factory functions.
18
     *
19
     * @var callable[]
20
     */
21
    protected static $factories = [];
22
23
    public static function registerFactory(callable $factory): void
24
    {
25
        static::$factories[] = $factory;
26
    }
27
28
    /**
29
     * @param string $ns The namespace to add
30
     * @return void
31
     * @codeCoverageIgnore
32
     */
33
    public static function appendBaseNamespace(string $ns): void
34
    {
35
        static::$baseNamespaces[] = $ns;
36
    }
37
38
    /**
39
     * @return string[]
40
     * @codeCoverageIgnore
41
     */
42
    public static function getBaseNamespaces(): array
43
    {
44
        return static::$baseNamespaces;
45
    }
46
}
47