NameMapResolver   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 24
wmc 3
lcom 1
cbo 0
ccs 7
cts 7
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A resolve() 0 8 2
1
<?php
2
3
namespace mindplay\unravel\resolvers;
4
5
use mindplay\unravel\Resolver;
6
use ReflectionParameter;
7
8
/**
9
 * Resolves parameter-names against a map where parameter-name => value
10
 */
11
class NameMapResolver implements Resolver
12
{
13
    /**
14
     * @var array
15
     */
16
    private $map;
17
18
    /**
19
     * @param array $map map where parameter-name => value
20
     */
21 1
    public function __construct($map)
22
    {
23 1
        $this->map = $map;
24 1
    }
25
26 1
    public function resolve(ReflectionParameter $param, $next)
27
    {
28 1
        if (array_key_exists($param->name, $this->map)) {
29 1
            return $this->map[$param->name];
30
        }
31
32 1
        return $next($param);
33
    }
34
}
35