Passed
Push — master ( 93bf08...6db13f )
by smiley
02:01
created
src/Document.php 1 patch
Spacing   +41 added lines, -41 removed lines patch added patch discarded remove patch
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
 /**
27 27
  *
28 28
  */
29
-class Document extends DOMDocument{
29
+class Document extends DOMDocument {
30 30
 
31 31
 	protected const NODE_CLASSES = [
32 32
 		'DOMAttr'                  => Attr::class,
@@ -51,14 +51,14 @@  discard block
 block discarded – undo
51 51
 	/**
52 52
 	 * Document constructor.
53 53
 	 */
54
-	public function __construct($content = null, bool $xml = null, string $version = null, string $encoding = null){
54
+	public function __construct($content = null, bool $xml = null, string $version = null, string $encoding = null) {
55 55
 		parent::__construct($version ?? '1.0', $encoding ?? 'UTF-8');
56 56
 
57
-		foreach($this::NODE_CLASSES as $baseClass => $extendedClass){
57
+		foreach ($this::NODE_CLASSES as $baseClass => $extendedClass) {
58 58
 			$this->registerNodeClass($baseClass, $extendedClass);
59 59
 		}
60 60
 
61
-		if($content !== null){
61
+		if ($content !== null) {
62 62
 			$this->loadDocument($content, $xml);
63 63
 		}
64 64
 
@@ -72,7 +72,7 @@  discard block
 block discarded – undo
72 72
 	/**
73 73
 	 * @return string|null
74 74
 	 */
75
-	public function getTitle():?string{
75
+	public function getTitle(): ?string{
76 76
 		return $this->select(['head > title'])->item(0)->nodeValue ?? null;
77 77
 	}
78 78
 
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
 	public function setTitle(string $title):void{
83 83
 		$currentTitle = $this->select(['head > title'])->item(0);
84 84
 
85
-		if($currentTitle instanceof Element){
85
+		if ($currentTitle instanceof Element) {
86 86
 			$currentTitle->update($title);
87 87
 
88 88
 			return;
@@ -91,10 +91,10 @@  discard block
 block discarded – undo
91 91
 		$head         = $this->select(['head'])->item(0);
92 92
 		$currentTitle = $this->newElement('title')->update($title);
93 93
 
94
-		if(!$head){
94
+		if (!$head) {
95 95
 			$html = $this->select(['html'])->first();
96 96
 
97
-			if(!$html instanceof PrototypeHTMLElement){
97
+			if (!$html instanceof PrototypeHTMLElement) {
98 98
 				throw new DOMException('html header missing');
99 99
 			}
100 100
 
@@ -114,19 +114,19 @@  discard block
 block discarded – undo
114 114
 	 */
115 115
 	public function loadDocument($content, bool $xml = null):Document{
116 116
 
117
-		if($content instanceof NodeList){
117
+		if ($content instanceof NodeList) {
118 118
 			return $this->insertNodeList($content);
119 119
 		}
120 120
 
121
-		if($content instanceof DOMNodeList){
121
+		if ($content instanceof DOMNodeList) {
122 122
 			return $this->insertNodeList(new NodeList($content));
123 123
 		}
124 124
 
125
-		if(!is_string($content)){
125
+		if (!is_string($content)) {
126 126
 			throw new DOMException('invalid document content');
127 127
 		}
128 128
 
129
-		if(is_file($content) && is_readable($content)){
129
+		if (is_file($content) && is_readable($content)) {
130 130
 			return $this->loadDocumentFile($content, $xml);
131 131
 		}
132 132
 
@@ -143,7 +143,7 @@  discard block
 block discarded – undo
143 143
 			? $this->load($file, $options)
144 144
 			: $this->loadHTMLFile($file, $options);
145 145
 
146
-		if($result === false){
146
+		if ($result === false) {
147 147
 			throw new DOMException('failed to load document from file: '.$file); // @codeCoverageIgnore
148 148
 		}
149 149
 
@@ -160,7 +160,7 @@  discard block
 block discarded – undo
160 160
 			? $this->loadXML($documentSource, $options)
161 161
 			: $this->loadHTML($documentSource, $options);
162 162
 
163
-		if($result === false){
163
+		if ($result === false) {
164 164
 			throw new DOMException('failed to load document from string'); // @codeCoverageIgnore
165 165
 		}
166 166
 
@@ -172,19 +172,19 @@  discard block
 block discarded – undo
172 172
 	 */
173 173
 	public function toNodeList($content):NodeList{
174 174
 
175
-		if($content instanceof NodeList){
175
+		if ($content instanceof NodeList) {
176 176
 			return $content;
177 177
 		}
178 178
 
179
-		if($content instanceof DOMNode || $content instanceof PrototypeNode){
179
+		if ($content instanceof DOMNode || $content instanceof PrototypeNode) {
180 180
 			return new NodeList([$content]);
181 181
 		}
182 182
 
183
-		if($content instanceof DOMNodeList || is_iterable($content)){
183
+		if ($content instanceof DOMNodeList || is_iterable($content)) {
184 184
 			return new NodeList($content);
185 185
 		}
186 186
 
187
-		if(is_string($content)){
187
+		if (is_string($content)) {
188 188
 			$document = new self;
189 189
 			$document->loadHTML('<html lang="en"><body id="-import-content">'.$content.'</body></html>');
190 190
 
@@ -208,7 +208,7 @@  discard block
 block discarded – undo
208 208
 	/**
209 209
 	 *
210 210
 	 */
211
-	public function query(string $xpath, DOMNode $contextNode = null):?NodeList{
211
+	public function query(string $xpath, DOMNode $contextNode = null): ?NodeList{
212 212
 		$q = (new DOMXPath($this))->query($xpath, $contextNode);
213 213
 
214 214
 		return $q !== false ? new NodeList($q) : null;
@@ -217,7 +217,7 @@  discard block
 block discarded – undo
217 217
 	/**
218 218
 	 *
219 219
 	 */
220
-	public function querySelectorAll(string $selector, DOMNode $contextNode = null, string $axis = null):?NodeList{
220
+	public function querySelectorAll(string $selector, DOMNode $contextNode = null, string $axis = null): ?NodeList{
221 221
 		return $this->query($this->cssSelectorConverter->toXPath($selector, $axis ?? 'descendant-or-self::'), $contextNode);
222 222
 	}
223 223
 
@@ -227,9 +227,9 @@  discard block
 block discarded – undo
227 227
 	public function removeElementsBySelector(array $selectors, DOMNode $contextNode = null, string $axis = null):Document{
228 228
 		$nodes = $this->select($selectors, $contextNode, $axis ?? 'descendant-or-self::');
229 229
 
230
-		if(count($nodes) > 0){
230
+		if (count($nodes) > 0) {
231 231
 
232
-			foreach($nodes as $node){
232
+			foreach ($nodes as $node) {
233 233
 				$node->remove();
234 234
 			}
235 235
 
@@ -243,7 +243,7 @@  discard block
 block discarded – undo
243 243
 	 */
244 244
 	public function insertNodeList(NodeList $nodeList):Document{
245 245
 
246
-		foreach($nodeList as $node){
246
+		foreach ($nodeList as $node) {
247 247
 			$this->appendChild($this->importNode($node->cloneNode(true), true));
248 248
 		}
249 249
 
@@ -259,7 +259,7 @@  discard block
 block discarded – undo
259 259
 	 */
260 260
 	public function inspect(DOMNode $context = null, bool $xml = null):string{
261 261
 
262
-		if($xml === true){
262
+		if ($xml === true) {
263 263
 			return $this->saveXML($context);
264 264
 		}
265 265
 
@@ -274,15 +274,15 @@  discard block
 block discarded – undo
274 274
 		$nodeType = $nodeType ?? XML_ELEMENT_NODE;
275 275
 		$elements = new NodeList;
276 276
 
277
-		foreach($selectors ?? ['*'] as $selector){
277
+		foreach ($selectors ?? ['*'] as $selector) {
278 278
 
279
-			if(!is_string($selector)){
279
+			if (!is_string($selector)) {
280 280
 				continue;
281 281
 			}
282 282
 
283
-			foreach($this->querySelectorAll($selector, $contextNode, $axis ?? 'descendant-or-self::') as $element){
283
+			foreach ($this->querySelectorAll($selector, $contextNode, $axis ?? 'descendant-or-self::') as $element) {
284 284
 
285
-				if($element->nodeType === $nodeType){
285
+				if ($element->nodeType === $nodeType) {
286 286
 					$elements[] = $element;
287 287
 				}
288 288
 
@@ -302,15 +302,15 @@  discard block
 block discarded – undo
302 302
 		$maxLength = $maxLength ?? -1;
303 303
 		$nodes     = new NodeList;
304 304
 
305
-		if(in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])){
305
+		if (in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])) {
306 306
 
307
-			while($element = $element->{$property}){
307
+			while ($element = $element->{$property}) {
308 308
 
309
-				if($element->nodeType === $nodeType){
309
+				if ($element->nodeType === $nodeType) {
310 310
 					$nodes[] = $element;
311 311
 				}
312 312
 
313
-				if(count($nodes) === $maxLength){
313
+				if (count($nodes) === $maxLength) {
314 314
 					break;
315 315
 				}
316 316
 
@@ -324,15 +324,15 @@  discard block
 block discarded – undo
324 324
 	/**
325 325
 	 * @see https://secure.php.net/manual/dom.constants.php
326 326
 	 */
327
-	public function recursivelyFind(PrototypeNode $element, string $property = null, string $selector = null, int $index = null, int $nodeType = null):?DOMNode{
327
+	public function recursivelyFind(PrototypeNode $element, string $property = null, string $selector = null, int $index = null, int $nodeType = null): ?DOMNode{
328 328
 		$nodeType = $nodeType ?? XML_ELEMENT_NODE;
329 329
 		$index    = $index ?? 0;
330 330
 
331
-		if(in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])){
331
+		if (in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])) {
332 332
 
333
-			while($element = $element->{$property}){
333
+			while ($element = $element->{$property}) {
334 334
 
335
-				if($element->nodeType !== $nodeType || $selector !== null && !$element->match($selector) || --$index >= 0){
335
+				if ($element->nodeType !== $nodeType || $selector !== null && !$element->match($selector) || --$index >= 0) {
336 336
 					continue;
337 337
 				}
338 338
 
@@ -349,9 +349,9 @@  discard block
 block discarded – undo
349 349
 	 */
350 350
 	public function match(DOMNode $element, string $selector):bool{
351 351
 
352
-		foreach($this->select([$selector]) as $match){
352
+		foreach ($this->select([$selector]) as $match) {
353 353
 
354
-			if($element->isSameNode($match)){
354
+			if ($element->isSameNode($match)) {
355 355
 				return true;
356 356
 			}
357 357
 
@@ -367,7 +367,7 @@  discard block
 block discarded – undo
367 367
 		/** @var \chillerlan\PrototypeDOM\Node\PrototypeHTMLElement $element */
368 368
 		$element = $this->createElement($tag);
369 369
 
370
-		if($attributes !== null){
370
+		if ($attributes !== null) {
371 371
 			$element->setAttributes($attributes);
372 372
 		}
373 373
 
@@ -380,9 +380,9 @@  discard block
 block discarded – undo
380 380
 	 * @return \chillerlan\PrototypeDOM\Node\PrototypeHTMLElement|\DOMNode|null
381 381
 	 * @throws \DOMException
382 382
 	 */
383
-	public function getElementById($elementId):?DOMNode{
383
+	public function getElementById($elementId): ?DOMNode{
384 384
 
385
-		if(!is_string($elementId)){
385
+		if (!is_string($elementId)) {
386 386
 			throw new DOMException('invalid element id');
387 387
 		}
388 388
 
Please login to merge, or discard this patch.
src/NodeList.php 1 patch
Spacing   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -28,17 +28,17 @@  discard block
 block discarded – undo
28 28
 	/**
29 29
 	 * NodeList constructor.
30 30
 	 */
31
-	public function __construct(iterable $nodes = null){
31
+	public function __construct(iterable $nodes = null) {
32 32
 
33
-		if($nodes instanceof DOMNodeList){
33
+		if ($nodes instanceof DOMNodeList) {
34 34
 			$this->array = iterator_to_array($nodes);
35 35
 		}
36
-		elseif($nodes instanceof NodeList){
36
+		elseif ($nodes instanceof NodeList) {
37 37
 			$this->array = $nodes->toArray();
38 38
 		}
39
-		elseif(is_iterable($nodes)){
40
-			foreach($nodes as $node){
41
-				if($node instanceof DOMNode || $node instanceof PrototypeNode){
39
+		elseif (is_iterable($nodes)) {
40
+			foreach ($nodes as $node) {
41
+				if ($node instanceof DOMNode || $node instanceof PrototypeNode) {
42 42
 					$this->array[] = $node;
43 43
 				}
44 44
 			}
@@ -56,9 +56,9 @@  discard block
 block discarded – undo
56 56
 	 */
57 57
 	public function match(DOMNode $node):bool{
58 58
 		/** @var \chillerlan\PrototypeDOM\Node\Element $element */
59
-		foreach($this->array as $element){
59
+		foreach ($this->array as $element) {
60 60
 
61
-			if($element->isSameNode($node)){
61
+			if ($element->isSameNode($node)) {
62 62
 				return true;
63 63
 			}
64 64
 
@@ -86,7 +86,7 @@  discard block
 block discarded – undo
86 86
 	/**
87 87
 	 * @return \DOMNode|\chillerlan\PrototypeDOM\Node\PrototypeHTMLElement|null
88 88
 	 */
89
-	public function item(int $offset):?DOMNode{
89
+	public function item(int $offset): ?DOMNode{
90 90
 		return $this->offsetGet($offset);
91 91
 	}
92 92
 
@@ -111,7 +111,7 @@  discard block
 block discarded – undo
111 111
 	 * @inheritdoc
112 112
 	 * @return \DOMNode|\chillerlan\PrototypeDOM\Node\PrototypeHTMLElement|null
113 113
 	 */
114
-	public function current():?DOMNode{
114
+	public function current(): ?DOMNode{
115 115
 		return $this->array[$this->offset] ?? null;
116 116
 	}
117 117
 
@@ -158,9 +158,9 @@  discard block
 block discarded – undo
158 158
 	public function seek($pos):void{
159 159
 		$this->rewind();
160 160
 
161
-		for( ; $this->offset < $pos; ){
161
+		for (; $this->offset < $pos;) {
162 162
 
163
-			if(!\next($this->array)) {
163
+			if (!\next($this->array)) {
164 164
 				throw new OutOfBoundsException('invalid seek position: '.$pos);
165 165
 			}
166 166
 
@@ -186,7 +186,7 @@  discard block
 block discarded – undo
186 186
 	 * @inheritdoc
187 187
 	 * @return \DOMNode|\chillerlan\PrototypeDOM\Node\PrototypeHTMLElement|null
188 188
 	 */
189
-	public function offsetGet($offset):?DOMNode{
189
+	public function offsetGet($offset): ?DOMNode{
190 190
 		return $this->array[$offset] ?? null;
191 191
 	}
192 192
 
@@ -196,7 +196,7 @@  discard block
 block discarded – undo
196 196
 	 */
197 197
 	public function offsetSet($offset, $value):void{
198 198
 
199
-		if($value instanceof DOMNode){
199
+		if ($value instanceof DOMNode) {
200 200
 
201 201
 			is_int($offset)
202 202
 				? $this->array[$offset] = $value
@@ -222,7 +222,7 @@  discard block
 block discarded – undo
222 222
 	 * @inheritDoc
223 223
 	 * @return \DOMNode|\chillerlan\PrototypeDOM\Node\PrototypeHTMLElement|null
224 224
 	 */
225
-	public function first():?DOMNode{
225
+	public function first(): ?DOMNode{
226 226
 		return $this->array[0] ?? null;
227 227
 	}
228 228
 
@@ -230,7 +230,7 @@  discard block
 block discarded – undo
230 230
 	 * @inheritDoc
231 231
 	 * @return \DOMNode|\chillerlan\PrototypeDOM\Node\PrototypeHTMLElement|null
232 232
 	 */
233
-	public function last():?DOMNode{
233
+	public function last(): ?DOMNode{
234 234
 		return $this->array[count($this->array) - 1] ?? null;
235 235
 	}
236 236
 
@@ -261,7 +261,7 @@  discard block
 block discarded – undo
261 261
 	/**
262 262
 	 * @inheritDoc
263 263
 	 */
264
-	public function each($callback){
264
+	public function each($callback) {
265 265
 		$this->map($callback);
266 266
 
267 267
 		return $this;
@@ -272,13 +272,13 @@  discard block
 block discarded – undo
272 272
 	 */
273 273
 	public function map($callback):array {
274 274
 
275
-		if(!is_callable($callback)){
275
+		if (!is_callable($callback)) {
276 276
 			throw new Exception('invalid callback');
277 277
 		}
278 278
 
279 279
 		$return = [];
280 280
 
281
-		foreach($this->array as $index => $element){
281
+		foreach ($this->array as $index => $element) {
282 282
 			$return[$index] = call_user_func_array($callback, [$element, $index]);
283 283
 		}
284 284
 
@@ -301,15 +301,15 @@  discard block
 block discarded – undo
301 301
 	 */
302 302
 	public function findAll($callback):array{
303 303
 
304
-		if(!is_callable($callback)){
304
+		if (!is_callable($callback)) {
305 305
 			throw new Exception('invalid callback');
306 306
 		}
307 307
 
308 308
 		$return = [];
309 309
 
310
-		foreach($this->array as $index => $element){
310
+		foreach ($this->array as $index => $element) {
311 311
 
312
-			if(call_user_func_array($callback, [$element, $index]) === true){
312
+			if (call_user_func_array($callback, [$element, $index]) === true) {
313 313
 				$return[] = $element;
314 314
 			}
315 315
 
@@ -324,15 +324,15 @@  discard block
 block discarded – undo
324 324
 	 */
325 325
 	public function reject($callback):array{
326 326
 
327
-		if(!is_callable($callback)){
327
+		if (!is_callable($callback)) {
328 328
 			throw new Exception('invalid callback');
329 329
 		}
330 330
 
331 331
 		$return = [];
332 332
 
333
-		foreach($this->array as $index => $element){
333
+		foreach ($this->array as $index => $element) {
334 334
 
335
-			if(call_user_func_array($callback, [$element, $index]) !== true){
335
+			if (call_user_func_array($callback, [$element, $index]) !== true) {
336 336
 				$return[] = $element;
337 337
 			}
338 338
 
Please login to merge, or discard this patch.
src/Node/PrototypeTraversalTrait.php 1 patch
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -25,7 +25,7 @@  discard block
 block discarded – undo
25 25
 /**
26 26
  * @property \chillerlan\PrototypeDOM\Document $ownerDocument
27 27
  */
28
-trait PrototypeTraversalTrait{
28
+trait PrototypeTraversalTrait {
29 29
 	use PrototypeNodeTrait;
30 30
 
31 31
 	/**
@@ -33,9 +33,9 @@  discard block
 block discarded – undo
33 33
 	 *
34 34
 	 * @return \chillerlan\PrototypeDOM\Node\PrototypeTraversal|\DOMNode|null
35 35
 	 */
36
-	public function recursivelyFind(string $selector = null, int $index = null, string $property = null, int $nodeType = XML_ELEMENT_NODE):?PrototypeTraversal{
36
+	public function recursivelyFind(string $selector = null, int $index = null, string $property = null, int $nodeType = XML_ELEMENT_NODE): ?PrototypeTraversal{
37 37
 
38
-		if(is_numeric($selector)){
38
+		if (is_numeric($selector)) {
39 39
 			return $this->ownerDocument->recursivelyFind($this, $property, null, $selector, $nodeType);
40 40
 		}
41 41
 
@@ -52,19 +52,19 @@  discard block
 block discarded – undo
52 52
 	/**
53 53
 	 * @inheritDoc
54 54
 	 */
55
-	public function down($expression = null, int $index = null):?PrototypeTraversal{
55
+	public function down($expression = null, int $index = null): ?PrototypeTraversal{
56 56
 
57
-		if($expression === null && $index === null){
57
+		if ($expression === null && $index === null) {
58 58
 			return $this->firstDescendant();
59 59
 		}
60 60
 
61 61
 		$index = $index ?? 0;
62 62
 
63
-		if(is_int($expression)){
63
+		if (is_int($expression)) {
64 64
 			return $this->select(['*'])->item($expression);
65 65
 		}
66 66
 
67
-		if(is_array($expression)){
67
+		if (is_array($expression)) {
68 68
 			return $this->select($expression)->item($index);
69 69
 		}
70 70
 
@@ -74,21 +74,21 @@  discard block
 block discarded – undo
74 74
 	/**
75 75
 	 * @inheritDoc
76 76
 	 */
77
-	public function up($expression = null, int $index = null):?PrototypeTraversal{
77
+	public function up($expression = null, int $index = null): ?PrototypeTraversal{
78 78
 		return $this->recursivelyFind($expression, $index, 'parentNode');
79 79
 	}
80 80
 
81 81
 	/**
82 82
 	 * @inheritDoc
83 83
 	 */
84
-	public function previous($expression = null, int $index = null):?PrototypeTraversal{
84
+	public function previous($expression = null, int $index = null): ?PrototypeTraversal{
85 85
 		return $this->recursivelyFind($expression, $index, 'previousSibling');
86 86
 	}
87 87
 
88 88
 	/**
89 89
 	 * @inheritDoc
90 90
 	 */
91
-	public function next($expression = null, int $index = null):?PrototypeTraversal{
91
+	public function next($expression = null, int $index = null): ?PrototypeTraversal{
92 92
 		return $this->recursivelyFind($expression, $index, 'nextSibling');
93 93
 	}
94 94
 
@@ -99,13 +99,13 @@  discard block
 block discarded – undo
99 99
 		$nodeType = $nodeType ?? XML_ELEMENT_NODE;
100 100
 		$children = new NodeList;
101 101
 
102
-		if(!$this->hasChildNodes()){
102
+		if (!$this->hasChildNodes()) {
103 103
 			return $children;
104 104
 		}
105 105
 
106
-		foreach($this->childNodes as $child){
106
+		foreach ($this->childNodes as $child) {
107 107
 
108
-			if($child->nodeType === $nodeType){
108
+			if ($child->nodeType === $nodeType) {
109 109
 				$children[] = $child;
110 110
 			}
111 111
 
@@ -145,7 +145,7 @@  discard block
 block discarded – undo
145 145
 	/**
146 146
 	 * @inheritDoc
147 147
 	 */
148
-	public function firstDescendant():?PrototypeTraversal{
148
+	public function firstDescendant(): ?PrototypeTraversal{
149 149
 		return $this->descendants()->first();
150 150
 	}
151 151
 
Please login to merge, or discard this patch.