Total Complexity | 6 |
Total Lines | 49 |
Duplicated Lines | 0 % |
Coverage | 100% |
Changes | 0 |
1 | <?php |
||
17 | final class Dependencies |
||
18 | { |
||
19 | private $dependencies; |
||
20 | |||
21 | 5 | public function __construct(Dependency ...$dependencies) |
|
29 | ); |
||
30 | 5 | } |
|
31 | ); |
||
32 | // todo: ensure no circular dependency when cross dependency argument supported |
||
33 | 5 | } |
|
34 | |||
35 | 1 | public function bind(Services $services): self |
|
36 | { |
||
37 | 1 | $self = clone $this; |
|
38 | 1 | $self->dependencies = $self |
|
39 | 1 | ->dependencies |
|
40 | 1 | ->map(static function(string $name, Dependency $dependency) use ($services): Dependency { |
|
41 | 1 | return $dependency->bind($services); |
|
42 | 1 | }); |
|
43 | |||
44 | 1 | return $self; |
|
45 | } |
||
46 | |||
47 | 5 | public function build(Name $name): object |
|
66 | } |
||
67 | } |
||
69 |