Passed
Branch master (b34e2b)
by Rait
01:39
created

AbstractElement   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 5
c 0
b 0
f 0
dl 0
loc 17
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A inject() 0 4 2
1
<?php
2
3
namespace Raigu\XRoad\SoapEnvelope\Element;
4
5
use DOMDocument;
6
7
/**
8
 * I am an abstract XML element.
9
 *
10
 * I can aggregate zero to many elements.
11
 * I can inject all elements into given XML.
12
 */
13
abstract class AbstractElement implements XmlInjectable
14
{
15
    /**
16
     * @var XmlInjectable[]
17
     */
18
    private $elements;
19
20
    public function inject(DOMDocument $dom): void
21
    {
22
        foreach ($this->elements as $element) {
23
            $element->inject($dom);
24
        }
25
    }
26
27
    public function __construct(XmlInjectable ...$elements)
28
    {
29
        $this->elements = $elements;
30
    }
31
}
32