@@ -12,7 +12,10 @@  | 
                                                    ||
| 12 | 12 | |
| 13 | 13 | namespace chillerlan\PrototypeDOM;  | 
                                                        
| 14 | 14 | |
| 15 | -use DOMDocument, DOMNode, DOMNodeList, DOMXPath;  | 
                                                        |
| 15 | +use DOMDocument;  | 
                                                        |
| 16 | +use DOMNode;  | 
                                                        |
| 17 | +use DOMNodeList;  | 
                                                        |
| 18 | +use DOMXPath;  | 
                                                        |
| 16 | 19 | use Symfony\Component\CssSelector\CssSelectorConverter;  | 
                                                        
| 17 | 20 | |
| 18 | 21 |  class Document extends DOMDocument{ | 
                                                        
@@ -149,11 +149,9 @@  | 
                                                    ||
| 149 | 149 |  			$document->loadHTML('<html><body id="content"></body></html>'); | 
                                                        
| 150 | 150 | |
| 151 | 151 |  			$document->getElementById('content')->appendChild($document->importNode($content, true)); | 
                                                        
| 152 | - }  | 
                                                        |
| 153 | -		elseif(is_string($content)){ | 
                                                        |
| 152 | +		} elseif(is_string($content)){ | 
                                                        |
| 154 | 153 |  			$document->loadHTML('<html><body id="content">'.$content.'</body></html>'); | 
                                                        
| 155 | - }  | 
                                                        |
| 156 | -		else{ | 
                                                        |
| 154 | +		} else{ | 
                                                        |
| 157 | 155 |  			throw new \Exception('invalid content'); // @codeCoverageIgnore | 
                                                        
| 158 | 156 | }  | 
                                                        
| 159 | 157 | |
@@ -15,7 +15,7 @@ discard block  | 
                                                    ||
| 15 | 15 | use DOMDocument, DOMNode, DOMNodeList, DOMXPath;  | 
                                                        
| 16 | 16 | use Symfony\Component\CssSelector\CssSelectorConverter;  | 
                                                        
| 17 | 17 | |
| 18 | -class Document extends DOMDocument{ | 
                                                        |
| 18 | +class Document extends DOMDocument { | 
                                                        |
| 19 | 19 | |
| 20 | 20 | /**  | 
                                                        
| 21 | 21 | * Document constructor.  | 
                                                        
@@ -23,7 +23,7 @@ discard block  | 
                                                    ||
| 23 | 23 | * @param string|null $version  | 
                                                        
| 24 | 24 | * @param string|null $encoding  | 
                                                        
| 25 | 25 | */  | 
                                                        
| 26 | -	public function __construct($version = null, $encoding = null){ | 
                                                        |
| 26 | +	public function __construct($version = null, $encoding = null) { | 
                                                        |
| 27 | 27 | parent::__construct($version, $encoding);  | 
                                                        
| 28 | 28 | |
| 29 | 29 |  		$this->registerNodeClass('DOMElement', Element::class); | 
                                                        
@@ -73,21 +73,21 @@ discard block  | 
                                                    ||
| 73 | 73 | */  | 
                                                        
| 74 | 74 |  	public function select($selectors = null, DOMNode $contextNode = null, string $axis = 'descendant-or-self::', int $nodeType = XML_ELEMENT_NODE):array{ | 
                                                        
| 75 | 75 | |
| 76 | -		if(is_string($selectors)){ | 
                                                        |
| 76 | +		if (is_string($selectors)) { | 
                                                        |
| 77 | 77 | $selectors = [trim($selectors)];  | 
                                                        
| 78 | 78 | }  | 
                                                        
| 79 | 79 | |
| 80 | -		if(!is_array($selectors) || empty($selectors)){ | 
                                                        |
| 80 | +		if (!is_array($selectors) || empty($selectors)) { | 
                                                        |
| 81 | 81 | $selectors = ['*'];  | 
                                                        
| 82 | 82 | }  | 
                                                        
| 83 | 83 | |
| 84 | 84 | $elements = [];  | 
                                                        
| 85 | 85 | |
| 86 | -		foreach($selectors as $selector){ | 
                                                        |
| 86 | +		foreach ($selectors as $selector) { | 
                                                        |
| 87 | 87 | |
| 88 | -			foreach($this->getElementsBySelector($selector, $contextNode, $axis) as $element){ | 
                                                        |
| 88 | +			foreach ($this->getElementsBySelector($selector, $contextNode, $axis) as $element) { | 
                                                        |
| 89 | 89 | |
| 90 | -				if($element->nodeType === $nodeType){ | 
                                                        |
| 90 | +				if ($element->nodeType === $nodeType) { | 
                                                        |
| 91 | 91 | $elements[] = $element;  | 
                                                        
| 92 | 92 | }  | 
                                                        
| 93 | 93 | |
@@ -120,9 +120,9 @@ discard block  | 
                                                    ||
| 120 | 120 |  	public function removeElementsBySelector($selectors, DOMNode $contextNode = null, string $axis = 'descendant-or-self::'):Document{ | 
                                                        
| 121 | 121 | $nodes = $this->select($selectors, $contextNode, $axis);  | 
                                                        
| 122 | 122 | |
| 123 | -		if(count($nodes) > 0){ | 
                                                        |
| 123 | +		if (count($nodes) > 0) { | 
                                                        |
| 124 | 124 | /** @var \chillerlan\PrototypeDOM\Element $node */  | 
                                                        
| 125 | -			foreach($nodes as $node){ | 
                                                        |
| 125 | +			foreach ($nodes as $node) { | 
                                                        |
| 126 | 126 | $node->remove();  | 
                                                        
| 127 | 127 | }  | 
                                                        
| 128 | 128 | |
@@ -139,21 +139,21 @@ discard block  | 
                                                    ||
| 139 | 139 | */  | 
                                                        
| 140 | 140 |  	public function _toDOMNodeList($content):DOMNodeList{ | 
                                                        
| 141 | 141 | |
| 142 | -		if($content instanceof DOMNodeList){ | 
                                                        |
| 142 | +		if ($content instanceof DOMNodeList) { | 
                                                        |
| 143 | 143 | return $content;  | 
                                                        
| 144 | 144 | }  | 
                                                        
| 145 | 145 | |
| 146 | 146 | $document = new Document;  | 
                                                        
| 147 | 147 | |
| 148 | -		if($content instanceof DOMNode){ | 
                                                        |
| 148 | +		if ($content instanceof DOMNode) { | 
                                                        |
| 149 | 149 |  			$document->loadHTML('<html><body id="content"></body></html>'); | 
                                                        
| 150 | 150 | |
| 151 | 151 |  			$document->getElementById('content')->appendChild($document->importNode($content, true)); | 
                                                        
| 152 | 152 | }  | 
                                                        
| 153 | -		elseif(is_string($content)){ | 
                                                        |
| 153 | +		elseif (is_string($content)) { | 
                                                        |
| 154 | 154 |  			$document->loadHTML('<html><body id="content">'.$content.'</body></html>'); | 
                                                        
| 155 | 155 | }  | 
                                                        
| 156 | -		else{ | 
                                                        |
| 156 | +		else { | 
                                                        |
| 157 | 157 |  			throw new \Exception('invalid content'); // @codeCoverageIgnore | 
                                                        
| 158 | 158 | }  | 
                                                        
| 159 | 159 | |
@@ -171,15 +171,15 @@ discard block  | 
                                                    ||
| 171 | 171 |  	public function recursivelyCollect(DOMNode $element, string $property, int $maxLength = -1, int $nodeType = XML_ELEMENT_NODE):array{ | 
                                                        
| 172 | 172 | $nodes = [];  | 
                                                        
| 173 | 173 | |
| 174 | -		if(in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])){ | 
                                                        |
| 174 | +		if (in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])) { | 
                                                        |
| 175 | 175 | |
| 176 | -			while($element = $element->{$property}){ | 
                                                        |
| 176 | +			while ($element = $element->{$property}) { | 
                                                        |
| 177 | 177 | |
| 178 | -				if($element->nodeType === $nodeType){ | 
                                                        |
| 178 | +				if ($element->nodeType === $nodeType) { | 
                                                        |
| 179 | 179 | $nodes[] = $element;  | 
                                                        
| 180 | 180 | }  | 
                                                        
| 181 | 181 | |
| 182 | -				if(count($nodes) === $maxLength){ | 
                                                        |
| 182 | +				if (count($nodes) === $maxLength) { | 
                                                        |
| 183 | 183 | break;  | 
                                                        
| 184 | 184 | }  | 
                                                        
| 185 | 185 | |
@@ -199,14 +199,14 @@ discard block  | 
                                                    ||
| 199 | 199 | *  | 
                                                        
| 200 | 200 | * @return \DOMNode|null  | 
                                                        
| 201 | 201 | */  | 
                                                        
| 202 | -	public function _recursivelyFind(DOMNode $element, string $property, string $selector = null, int $index = 0, int $nodeType = XML_ELEMENT_NODE){ | 
                                                        |
| 202 | +	public function _recursivelyFind(DOMNode $element, string $property, string $selector = null, int $index = 0, int $nodeType = XML_ELEMENT_NODE) { | 
                                                        |
| 203 | 203 | |
| 204 | -		if(in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])){ | 
                                                        |
| 204 | +		if (in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])) { | 
                                                        |
| 205 | 205 | |
| 206 | 206 | /** @var \chillerlan\PrototypeDOM\Element $element */  | 
                                                        
| 207 | -			while($element = $element->{$property}){ | 
                                                        |
| 207 | +			while ($element = $element->{$property}) { | 
                                                        |
| 208 | 208 | |
| 209 | -				if($element->nodeType !== $nodeType || !is_null($selector) && !$element->match($selector) || --$index >= 0){ | 
                                                        |
| 209 | +				if ($element->nodeType !== $nodeType || !is_null($selector) && !$element->match($selector) || --$index >= 0) { | 
                                                        |
| 210 | 210 | continue;  | 
                                                        
| 211 | 211 | }  | 
                                                        
| 212 | 212 | |
@@ -226,9 +226,9 @@ discard block  | 
                                                    ||
| 226 | 226 | */  | 
                                                        
| 227 | 227 |  	public function match(DOMNode $element, string $selector):bool{ | 
                                                        
| 228 | 228 | |
| 229 | -		foreach($this->select($selector) as $match){ | 
                                                        |
| 229 | +		foreach ($this->select($selector) as $match) { | 
                                                        |
| 230 | 230 | |
| 231 | -			if($element->isSameNode($match)){ | 
                                                        |
| 231 | +			if ($element->isSameNode($match)) { | 
                                                        |
| 232 | 232 | return true;  | 
                                                        
| 233 | 233 | }  | 
                                                        
| 234 | 234 | |
@@ -247,7 +247,7 @@ discard block  | 
                                                    ||
| 247 | 247 | /** @var \chillerlan\PrototypeDOM\Element $element */  | 
                                                        
| 248 | 248 | $element = $this->createElement($tag);  | 
                                                        
| 249 | 249 | |
| 250 | -		if($attributes){ | 
                                                        |
| 250 | +		if ($attributes) { | 
                                                        |
| 251 | 251 | $element->setAttributes($attributes);  | 
                                                        
| 252 | 252 | }  | 
                                                        
| 253 | 253 | |
@@ -12,7 +12,8 @@  | 
                                                    ||
| 12 | 12 | |
| 13 | 13 | namespace chillerlan\PrototypeDOM;  | 
                                                        
| 14 | 14 | |
| 15 | -use DOMNode, DOMNodeList;  | 
                                                        |
| 15 | +use DOMNode;  | 
                                                        |
| 16 | +use DOMNodeList;  | 
                                                        |
| 16 | 17 | |
| 17 | 18 | /**  | 
                                                        
| 18 | 19 | * @extends \DOMNode  | 
                                                        
@@ -17,7 +17,7 @@ discard block  | 
                                                    ||
| 17 | 17 | /**  | 
                                                        
| 18 | 18 | * @extends \DOMNode  | 
                                                        
| 19 | 19 | */  | 
                                                        
| 20 | -trait NodeManipulationTrait{ | 
                                                        |
| 20 | +trait NodeManipulationTrait { | 
                                                        |
| 21 | 21 | |
| 22 | 22 | /**  | 
                                                        
| 23 | 23 | * @link http://php.net/manual/class.domnode.php#domnode.props.ownerdocument  | 
                                                        
@@ -46,7 +46,7 @@ discard block  | 
                                                    ||
| 46 | 46 | */  | 
                                                        
| 47 | 47 |  	public function remove():DOMNode{ | 
                                                        
| 48 | 48 | |
| 49 | -		if(!$this->parentNode){ | 
                                                        |
| 49 | +		if (!$this->parentNode) { | 
                                                        |
| 50 | 50 | /** @var \chillerlan\PrototypeDOM\Element $this */  | 
                                                        
| 51 | 51 | return $this;  | 
                                                        
| 52 | 52 | }  | 
                                                        
@@ -62,7 +62,7 @@ discard block  | 
                                                    ||
| 62 | 62 | */  | 
                                                        
| 63 | 63 |  	public function replace(DOMNode $newnode):DOMNode{ | 
                                                        
| 64 | 64 | |
| 65 | -		if(!$this->parentNode){ | 
                                                        |
| 65 | +		if (!$this->parentNode) { | 
                                                        |
| 66 | 66 | /** @var \chillerlan\PrototypeDOM\Element $this */  | 
                                                        
| 67 | 67 | return $this;  | 
                                                        
| 68 | 68 | }  | 
                                                        
@@ -86,7 +86,7 @@ discard block  | 
                                                    ||
| 86 | 86 | */  | 
                                                        
| 87 | 87 |  	public function empty():DOMNode{ | 
                                                        
| 88 | 88 | |
| 89 | -		while($this->hasChildNodes()){ | 
                                                        |
| 89 | +		while ($this->hasChildNodes()) { | 
                                                        |
| 90 | 90 | $this->firstChild->remove();  | 
                                                        
| 91 | 91 | }  | 
                                                        
| 92 | 92 | |
@@ -113,10 +113,10 @@ discard block  | 
                                                    ||
| 113 | 113 |  	public function cleanWhitespace():DOMNode{ | 
                                                        
| 114 | 114 | $node = $this->firstChild;  | 
                                                        
| 115 | 115 | |
| 116 | -		while($node){ | 
                                                        |
| 116 | +		while ($node) { | 
                                                        |
| 117 | 117 | $nextNode = $node->nextSibling;  | 
                                                        
| 118 | 118 | |
| 119 | -			if($node->nodeType === XML_TEXT_NODE && empty(trim($node->nodeValue))){ | 
                                                        |
| 119 | +			if ($node->nodeType === XML_TEXT_NODE && empty(trim($node->nodeValue))) { | 
                                                        |
| 120 | 120 | $node->remove();  | 
                                                        
| 121 | 121 | }  | 
                                                        
| 122 | 122 | |
@@ -143,7 +143,7 @@ discard block  | 
                                                    ||
| 143 | 143 | */  | 
                                                        
| 144 | 144 |  	public function _insertBottom(DOMNodeList $nodes):DOMNode{ | 
                                                        
| 145 | 145 | |
| 146 | -		foreach($nodes as $node){ | 
                                                        |
| 146 | +		foreach ($nodes as $node) { | 
                                                        |
| 147 | 147 | $this->appendChild($this->_importNode($node));  | 
                                                        
| 148 | 148 | }  | 
                                                        
| 149 | 149 | |
@@ -156,11 +156,11 @@ discard block  | 
                                                    ||
| 156 | 156 | *  | 
                                                        
| 157 | 157 | * @return \DOMNode  | 
                                                        
| 158 | 158 | */  | 
                                                        
| 159 | -	public function _insertBefore(DOMNodeList $nodes){ | 
                                                        |
| 159 | +	public function _insertBefore(DOMNodeList $nodes) { | 
                                                        |
| 160 | 160 | |
| 161 | -		if($this->parentNode){ | 
                                                        |
| 161 | +		if ($this->parentNode) { | 
                                                        |
| 162 | 162 | |
| 163 | -			foreach($nodes as $node){ | 
                                                        |
| 163 | +			foreach ($nodes as $node) { | 
                                                        |
| 164 | 164 | $this->parentNode->insertBefore($this->_importNode($node), $this);  | 
                                                        
| 165 | 165 | }  | 
                                                        
| 166 | 166 | |
@@ -205,14 +205,14 @@ discard block  | 
                                                    ||
| 205 | 205 | */  | 
                                                        
| 206 | 206 |  	public function insert($content):DOMNode{ | 
                                                        
| 207 | 207 | |
| 208 | -		if(is_string($content) || $content instanceof DOMNode || $content instanceof DOMNodeList){ | 
                                                        |
| 208 | +		if (is_string($content) || $content instanceof DOMNode || $content instanceof DOMNodeList) { | 
                                                        |
| 209 | 209 | $this->_insertBottom($this->ownerDocument->_toDOMNodeList($content));  | 
                                                        
| 210 | 210 | }  | 
                                                        
| 211 | -		elseif(is_array($content)){ | 
                                                        |
| 211 | +		elseif (is_array($content)) { | 
                                                        |
| 212 | 212 | |
| 213 | -			foreach(['before', 'after', 'top', 'bottom'] as $pos){ | 
                                                        |
| 213 | +			foreach (['before', 'after', 'top', 'bottom'] as $pos) { | 
                                                        |
| 214 | 214 | |
| 215 | -				if(array_key_exists($pos, $content)){ | 
                                                        |
| 215 | +				if (array_key_exists($pos, $content)) { | 
                                                        |
| 216 | 216 | call_user_func_array(  | 
                                                        
| 217 | 217 | [$this, '_insert'.ucfirst($pos)],  | 
                                                        
| 218 | 218 | [$this->ownerDocument->_toDOMNodeList($content[$pos])]  | 
                                                        
@@ -207,8 +207,7 @@  | 
                                                    ||
| 207 | 207 | |
| 208 | 208 |  		if(is_string($content) || $content instanceof DOMNode || $content instanceof DOMNodeList){ | 
                                                        
| 209 | 209 | $this->_insertBottom($this->ownerDocument->_toDOMNodeList($content));  | 
                                                        
| 210 | - }  | 
                                                        |
| 211 | -		elseif(is_array($content)){ | 
                                                        |
| 210 | +		} elseif(is_array($content)){ | 
                                                        |
| 212 | 211 | |
| 213 | 212 |  			foreach(['before', 'after', 'top', 'bottom'] as $pos){ | 
                                                        
| 214 | 213 | |
@@ -14,6 +14,6 @@  | 
                                                    ||
| 14 | 14 | |
| 15 | 15 | use DOMText;  | 
                                                        
| 16 | 16 | |
| 17 | -class Text extends DOMText{ | 
                                                        |
| 17 | +class Text extends DOMText { | 
                                                        |
| 18 | 18 | use NodeTraversalTrait, NodeManipulationTrait;  | 
                                                        
| 19 | 19 | }  | 
                                                        
@@ -16,6 +16,6 @@  | 
                                                    ||
| 16 | 16 | |
| 17 | 17 | /**  | 
                                                        
| 18 | 18 | */  | 
                                                        
| 19 | -class DocumentFragment extends DOMDocumentFragment{ | 
                                                        |
| 19 | +class DocumentFragment extends DOMDocumentFragment { | 
                                                        |
| 20 | 20 | use NodeTraversalTrait, NodeManipulationTrait;  | 
                                                        
| 21 | 21 | }  | 
                                                        
@@ -17,7 +17,7 @@ discard block  | 
                                                    ||
| 17 | 17 | /**  | 
                                                        
| 18 | 18 | * @extends \DOMNode  | 
                                                        
| 19 | 19 | */  | 
                                                        
| 20 | -trait NodeTraversalTrait{ | 
                                                        |
| 20 | +trait NodeTraversalTrait { | 
                                                        |
| 21 | 21 | |
| 22 | 22 | /**  | 
                                                        
| 23 | 23 | * @link http://php.net/manual/class.domnode.php#domnode.props.ownerdocument  | 
                                                        
@@ -46,9 +46,9 @@ discard block  | 
                                                    ||
| 46 | 46 | *  | 
                                                        
| 47 | 47 | * @return \DOMNode|null  | 
                                                        
| 48 | 48 | */  | 
                                                        
| 49 | -	public function _recursivelyFind($selector, $index, string $property, int $nodeType = XML_ELEMENT_NODE){ | 
                                                        |
| 49 | +	public function _recursivelyFind($selector, $index, string $property, int $nodeType = XML_ELEMENT_NODE) { | 
                                                        |
| 50 | 50 | |
| 51 | -		if(is_numeric($selector)){ | 
                                                        |
| 51 | +		if (is_numeric($selector)) { | 
                                                        |
| 52 | 52 | $index = $selector;  | 
                                                        
| 53 | 53 | $selector = null;  | 
                                                        
| 54 | 54 | }  | 
                                                        
@@ -91,13 +91,13 @@ discard block  | 
                                                    ||
| 91 | 91 | *  | 
                                                        
| 92 | 92 | * @return \DOMNode|null  | 
                                                        
| 93 | 93 | */  | 
                                                        
| 94 | -	public function down($expression = null, int $index = 0){ | 
                                                        |
| 94 | +	public function down($expression = null, int $index = 0) { | 
                                                        |
| 95 | 95 | |
| 96 | -		if(count(func_get_args()) === 0){ | 
                                                        |
| 96 | +		if (count(func_get_args()) === 0) { | 
                                                        |
| 97 | 97 | return $this->firstDescendant();  | 
                                                        
| 98 | 98 | }  | 
                                                        
| 99 | 99 | |
| 100 | -		if(is_numeric($expression)){ | 
                                                        |
| 100 | +		if (is_numeric($expression)) { | 
                                                        |
| 101 | 101 | $index = $expression;  | 
                                                        
| 102 | 102 | $expression = '*';  | 
                                                        
| 103 | 103 | }  | 
                                                        
@@ -111,7 +111,7 @@ discard block  | 
                                                    ||
| 111 | 111 | *  | 
                                                        
| 112 | 112 | * @return \DOMNode|null  | 
                                                        
| 113 | 113 | */  | 
                                                        
| 114 | -	public function up($expression = null, int $index = null){ | 
                                                        |
| 114 | +	public function up($expression = null, int $index = null) { | 
                                                        |
| 115 | 115 | return $this->_recursivelyFind($expression, $index, 'parentNode');  | 
                                                        
| 116 | 116 | }  | 
                                                        
| 117 | 117 | |
@@ -121,7 +121,7 @@ discard block  | 
                                                    ||
| 121 | 121 | *  | 
                                                        
| 122 | 122 | * @return \DOMNode|null  | 
                                                        
| 123 | 123 | */  | 
                                                        
| 124 | -	public function previous($expression = null, int $index = null){ | 
                                                        |
| 124 | +	public function previous($expression = null, int $index = null) { | 
                                                        |
| 125 | 125 | return $this->_recursivelyFind($expression, $index, 'previousSibling');  | 
                                                        
| 126 | 126 | }  | 
                                                        
| 127 | 127 | |
@@ -131,7 +131,7 @@ discard block  | 
                                                    ||
| 131 | 131 | *  | 
                                                        
| 132 | 132 | * @return \DOMNode|null  | 
                                                        
| 133 | 133 | */  | 
                                                        
| 134 | -	public function next($expression = null, int $index = null){ | 
                                                        |
| 134 | +	public function next($expression = null, int $index = null) { | 
                                                        |
| 135 | 135 | return $this->_recursivelyFind($expression, $index, 'nextSibling');  | 
                                                        
| 136 | 136 | }  | 
                                                        
| 137 | 137 | |
@@ -143,11 +143,11 @@ discard block  | 
                                                    ||
| 143 | 143 |  	public function childElements(int $nodeType = XML_ELEMENT_NODE):array{ | 
                                                        
| 144 | 144 | $children = [];  | 
                                                        
| 145 | 145 | |
| 146 | -		if($this->hasChildNodes()){ | 
                                                        |
| 146 | +		if ($this->hasChildNodes()) { | 
                                                        |
| 147 | 147 | |
| 148 | -			foreach($this->childNodes as $child){ | 
                                                        |
| 148 | +			foreach ($this->childNodes as $child) { | 
                                                        |
| 149 | 149 | |
| 150 | -				if($child->nodeType === $nodeType){ | 
                                                        |
| 150 | +				if ($child->nodeType === $nodeType) { | 
                                                        |
| 151 | 151 | $children[] = $child;  | 
                                                        
| 152 | 152 | }  | 
                                                        
| 153 | 153 | |
@@ -165,9 +165,9 @@ discard block  | 
                                                    ||
| 165 | 165 | */  | 
                                                        
| 166 | 166 |  	public function descendantOf(DOMNode $ancestor):bool{ | 
                                                        
| 167 | 167 | |
| 168 | -		foreach($this->ancestors() as $match){ | 
                                                        |
| 168 | +		foreach ($this->ancestors() as $match) { | 
                                                        |
| 169 | 169 | |
| 170 | -			if($ancestor->isSameNode($match)){ | 
                                                        |
| 170 | +			if ($ancestor->isSameNode($match)) { | 
                                                        |
| 171 | 171 | return true;  | 
                                                        
| 172 | 172 | }  | 
                                                        
| 173 | 173 | |
@@ -200,7 +200,7 @@ discard block  | 
                                                    ||
| 200 | 200 | /**  | 
                                                        
| 201 | 201 | * @return \DOMNode|null  | 
                                                        
| 202 | 202 | */  | 
                                                        
| 203 | -	public function firstDescendant(){ | 
                                                        |
| 203 | +	public function firstDescendant() { | 
                                                        |
| 204 | 204 | return $this->descendants()[0] ?? null;  | 
                                                        
| 205 | 205 | }  | 
                                                        
| 206 | 206 | |
@@ -39,8 +39,8 @@ discard block  | 
                                                    ||
| 39 | 39 | }  | 
                                                        
| 40 | 40 | |
| 41 | 41 | /**  | 
                                                        
| 42 | - * @param $selector  | 
                                                        |
| 43 | - * @param $index  | 
                                                        |
| 42 | + * @param string|null $selector  | 
                                                        |
| 43 | + * @param null|integer $index  | 
                                                        |
| 44 | 44 | * @param string $property  | 
                                                        
| 45 | 45 | * @param int $nodeType  | 
                                                        
| 46 | 46 | *  | 
                                                        
@@ -198,7 +198,7 @@ discard block  | 
                                                    ||
| 198 | 198 | }  | 
                                                        
| 199 | 199 | |
| 200 | 200 | /**  | 
                                                        
| 201 | - * @return \DOMNode|null  | 
                                                        |
| 201 | + * @return Element|null  | 
                                                        |
| 202 | 202 | */  | 
                                                        
| 203 | 203 |  	public function firstDescendant(){ | 
                                                        
| 204 | 204 | return $this->descendants()[0] ?? null;  | 
                                                        
@@ -14,7 +14,7 @@ discard block  | 
                                                    ||
| 14 | 14 | |
| 15 | 15 | use DOMElement;  | 
                                                        
| 16 | 16 | |
| 17 | -class Element extends DOMElement{ | 
                                                        |
| 17 | +class Element extends DOMElement { | 
                                                        |
| 18 | 18 | use NodeTraversalTrait, NodeManipulationTrait;  | 
                                                        
| 19 | 19 | |
| 20 | 20 | /**  | 
                                                        
@@ -25,7 +25,7 @@ discard block  | 
                                                    ||
| 25 | 25 |  	public function id(string $newID = null):string { | 
                                                        
| 26 | 26 |  		$oldID = $this->getAttribute('id'); | 
                                                        
| 27 | 27 | |
| 28 | -		if(!is_null($newID)){ | 
                                                        |
| 28 | +		if (!is_null($newID)) { | 
                                                        |
| 29 | 29 |  			$this->setAttribute('id', $newID); | 
                                                        
| 30 | 30 | }  | 
                                                        
| 31 | 31 | |
@@ -38,14 +38,14 @@ discard block  | 
                                                    ||
| 38 | 38 |  	public function getClassNames():array{ | 
                                                        
| 39 | 39 | $currentClassnames = [];  | 
                                                        
| 40 | 40 | |
| 41 | -		if($this->hasAttributes()){ | 
                                                        |
| 41 | +		if ($this->hasAttributes()) { | 
                                                        |
| 42 | 42 |  			$classnames = explode(' ', trim($this->getAttribute('class'))); | 
                                                        
| 43 | 43 | |
| 44 | -			if(!empty($classnames)){ | 
                                                        |
| 44 | +			if (!empty($classnames)) { | 
                                                        |
| 45 | 45 | |
| 46 | -				foreach($classnames as $classname){ | 
                                                        |
| 46 | +				foreach ($classnames as $classname) { | 
                                                        |
| 47 | 47 | |
| 48 | -					if(empty($classname)){ | 
                                                        |
| 48 | +					if (empty($classname)) { | 
                                                        |
| 49 | 49 | continue;  | 
                                                        
| 50 | 50 | }  | 
                                                        
| 51 | 51 | |
@@ -76,9 +76,9 @@ discard block  | 
                                                    ||
| 76 | 76 |  	public function addClassNames(array $classnames):Element{ | 
                                                        
| 77 | 77 | $currentClassnames = $this->getClassNames();  | 
                                                        
| 78 | 78 | |
| 79 | -		foreach($classnames as $classname){ | 
                                                        |
| 79 | +		foreach ($classnames as $classname) { | 
                                                        |
| 80 | 80 | |
| 81 | -			if(!in_array($classname, $currentClassnames, true)){ | 
                                                        |
| 81 | +			if (!in_array($classname, $currentClassnames, true)) { | 
                                                        |
| 82 | 82 | array_push($currentClassnames, $classname);  | 
                                                        
| 83 | 83 | }  | 
                                                        
| 84 | 84 | |
@@ -97,12 +97,12 @@ discard block  | 
                                                    ||
| 97 | 97 |  	public function removeClassNames(array $classnames):Element{ | 
                                                        
| 98 | 98 | $currentClassnames = $this->getClassNames();  | 
                                                        
| 99 | 99 | |
| 100 | -		foreach($classnames as $classname){ | 
                                                        |
| 100 | +		foreach ($classnames as $classname) { | 
                                                        |
| 101 | 101 | $keys = array_keys($currentClassnames, $classname);  | 
                                                        
| 102 | 102 | |
| 103 | -			if(!empty($keys)){ | 
                                                        |
| 103 | +			if (!empty($keys)) { | 
                                                        |
| 104 | 104 | |
| 105 | -				foreach($keys as $key){ | 
                                                        |
| 105 | +				foreach ($keys as $key) { | 
                                                        |
| 106 | 106 | unset($currentClassnames[$key]);  | 
                                                        
| 107 | 107 | }  | 
                                                        
| 108 | 108 | |
@@ -151,15 +151,15 @@ discard block  | 
                                                    ||
| 151 | 151 |  	public function getStyle():array{ | 
                                                        
| 152 | 152 | $currentStyle = [];  | 
                                                        
| 153 | 153 | |
| 154 | -		if($this->hasAttributes()){ | 
                                                        |
| 154 | +		if ($this->hasAttributes()) { | 
                                                        |
| 155 | 155 |  			$styles = explode(';', trim($this->getAttribute('style'))); | 
                                                        
| 156 | 156 | |
| 157 | -			if(!empty($styles)){ | 
                                                        |
| 157 | +			if (!empty($styles)) { | 
                                                        |
| 158 | 158 | |
| 159 | -				foreach($styles as $style){ | 
                                                        |
| 159 | +				foreach ($styles as $style) { | 
                                                        |
| 160 | 160 |  					$s = explode(':', $style); | 
                                                        
| 161 | 161 | |
| 162 | -					if(count($s) === 2){ | 
                                                        |
| 162 | +					if (count($s) === 2) { | 
                                                        |
| 163 | 163 | $currentStyle[strtolower(trim($s[0]))] = trim($s[1]);  | 
                                                        
| 164 | 164 | }  | 
                                                        
| 165 | 165 | |
@@ -177,10 +177,10 @@ discard block  | 
                                                    ||
| 177 | 177 | *  | 
                                                        
| 178 | 178 | * @return bool|string  | 
                                                        
| 179 | 179 | */  | 
                                                        
| 180 | -	public function hasStyle(string $property){ | 
                                                        |
| 180 | +	public function hasStyle(string $property) { | 
                                                        |
| 181 | 181 | $currentStyle = $this->getStyle();  | 
                                                        
| 182 | 182 | |
| 183 | -		if(array_key_exists(strtolower($property), $currentStyle)){ | 
                                                        |
| 183 | +		if (array_key_exists(strtolower($property), $currentStyle)) { | 
                                                        |
| 184 | 184 | return $currentStyle[$property];  | 
                                                        
| 185 | 185 | }  | 
                                                        
| 186 | 186 | |
@@ -196,11 +196,11 @@ discard block  | 
                                                    ||
| 196 | 196 |  	public function setStyle(array $style, bool $replace = false):Element{ | 
                                                        
| 197 | 197 | $currentStyle = $this->getStyle();  | 
                                                        
| 198 | 198 | |
| 199 | -		if(!$replace){ | 
                                                        |
| 199 | +		if (!$replace) { | 
                                                        |
| 200 | 200 | $style = array_merge($currentStyle, $style);  | 
                                                        
| 201 | 201 | }  | 
                                                        
| 202 | 202 | |
| 203 | -		foreach($style as $property => $value){ | 
                                                        |
| 203 | +		foreach ($style as $property => $value) { | 
                                                        |
| 204 | 204 | $style[$property] = $property.': '.$value.';';  | 
                                                        
| 205 | 205 | }  | 
                                                        
| 206 | 206 | |
@@ -215,7 +215,7 @@ discard block  | 
                                                    ||
| 215 | 215 |  	public function getAttributes():array{ | 
                                                        
| 216 | 216 | $attributes = [];  | 
                                                        
| 217 | 217 | |
| 218 | -		foreach($this->attributes as $attribute){ | 
                                                        |
| 218 | +		foreach ($this->attributes as $attribute) { | 
                                                        |
| 219 | 219 | $attributes[$attribute->nodeName] = $attribute->nodeValue;  | 
                                                        
| 220 | 220 | }  | 
                                                        
| 221 | 221 | |
@@ -229,7 +229,7 @@ discard block  | 
                                                    ||
| 229 | 229 | */  | 
                                                        
| 230 | 230 |  	public function setAttributes(array $attributes):Element{ | 
                                                        
| 231 | 231 | |
| 232 | -		foreach($attributes as $name => $value){ | 
                                                        |
| 232 | +		foreach ($attributes as $name => $value) { | 
                                                        |
| 233 | 233 | $this->setAttribute($name, $value);  | 
                                                        
| 234 | 234 | }  | 
                                                        
| 235 | 235 | |
@@ -243,7 +243,7 @@ discard block  | 
                                                    ||
| 243 | 243 | */  | 
                                                        
| 244 | 244 |  	public function removeAttributes(array $attributes):Element{ | 
                                                        
| 245 | 245 | |
| 246 | -		foreach($attributes as $name){ | 
                                                        |
| 246 | +		foreach ($attributes as $name) { | 
                                                        |
| 247 | 247 | $this->removeAttribute($name);  | 
                                                        
| 248 | 248 | }  | 
                                                        
| 249 | 249 | |