Total Complexity | 4 |
Total Lines | 29 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | <?php |
||
6 | abstract class Observe implements Hydrates |
||
7 | { |
||
8 | private $hydrator; |
||
9 | private $observer; |
||
10 | |||
11 | private function __construct( |
||
12 | Hydrates $hydrator, |
||
13 | ObservesHydration $observer |
||
14 | ) { |
||
15 | $this->hydrator = $hydrator; |
||
16 | $this->observer = $observer; |
||
17 | } |
||
18 | |||
19 | public static function hydrating( |
||
20 | Hydrates $hydrator, |
||
21 | ObservesHydration $observer |
||
22 | ): Hydrates { |
||
23 | return new static($hydrator, $observer); |
||
24 | } |
||
25 | |||
26 | /** @throws CannotHydrate */ |
||
27 | final protected function hydrate(object $target, array $input): void |
||
28 | { |
||
29 | $this->hydrator->writeTo($target, $input); |
||
30 | } |
||
31 | |||
32 | final protected function observe(object $target, array $input): void |
||
35 | } |
||
36 | } |
||
37 |