Autoload   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 60
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
wmc 5
lcom 1
cbo 0
dl 0
loc 60
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A getType() 0 4 1
A getNamespace() 0 4 1
A getPath() 0 4 1
A getItemId() 0 8 1
1
<?php
2
namespace Yoanm\ComposerConfigManager\Domain\Model;
3
4
class Autoload implements ConfigurationItemInterface
5
{
6
    const TYPE_PSR0 = 'psr-0';
7
    const TYPE_PSR4 = 'psr-4';
8
9
    /** @var string */
10
    private $type;
11
    /** @var string */
12
    private $namespace;
13
    /** @var string */
14
    private $path;
15
16
    /**
17
     * @param string $type
18
     * @param string $path
19
     * @param string $namespace
20
     */
21
    public function __construct($type, $path, $namespace)
22
    {
23
        $this->type = $type;
24
        $this->namespace = $namespace;
25
        $this->path = $path;
26
    }
27
28
    /**
29
     * @return string
30
     */
31
    public function getType()
32
    {
33
        return $this->type;
34
    }
35
36
    /**
37
     * @return string
38
     */
39
    public function getNamespace()
40
    {
41
        return $this->namespace;
42
    }
43
44
    /**
45
     * @return string
46
     */
47
    public function getPath()
48
    {
49
        return $this->path;
50
    }
51
52
    /**
53
     * {@inheritdoc}
54
     */
55
    public function getItemId()
56
    {
57
        return sprintf(
58
            '%s#%s',
59
            $this->getType(),
60
            $this->getNamespace()
61
        );
62
    }
63
}
64