Completed
Push — master ( 7d6b1f...14b45d )
by smiley
05:36
created
src/TraversalTrait.php 2 patches
Doc Comments   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -39,8 +39,8 @@
 block discarded – undo
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
 	 *
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
 /**
18 18
  * @extends \DOMNode
19 19
  */
20
-trait TraversalTrait{
20
+trait TraversalTrait {
21 21
 
22 22
 	/**
23 23
 	 * @link http://php.net/manual/class.domnode.php#domnode.props.ownerdocument
@@ -46,9 +46,9 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
143 143
 	public function childElements(int $nodeType = XML_ELEMENT_NODE):NodeList{
144 144
 		$children = new NodeList;
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
 
@@ -191,7 +191,7 @@  discard block
 block discarded – undo
191 191
 	/**
192 192
 	 * @return \DOMNode|null
193 193
 	 */
194
-	public function firstDescendant(){
194
+	public function firstDescendant() {
195 195
 		return $this->descendants()->first();
196 196
 	}
197 197
 
Please login to merge, or discard this patch.
src/Attr.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -14,4 +14,4 @@
 block discarded – undo
14 14
 
15 15
 use DOMAttr;
16 16
 
17
-class Attr extends DOMAttr{}
17
+class Attr extends DOMAttr {}
Please login to merge, or discard this patch.
src/Comment.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -14,4 +14,4 @@
 block discarded – undo
14 14
 
15 15
 use DOMComment;
16 16
 
17
-class Comment extends DOMComment{}
17
+class Comment extends DOMComment {}
Please login to merge, or discard this patch.
src/DocumentFragment.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -16,6 +16,6 @@
 block discarded – undo
16 16
 
17 17
 /**
18 18
  */
19
-class DocumentFragment extends DOMDocumentFragment{
19
+class DocumentFragment extends DOMDocumentFragment {
20 20
 	use TraversalTrait, ManipulationTrait;
21 21
 }
Please login to merge, or discard this patch.
src/Document.php 3 patches
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -157,14 +157,11 @@
 block discarded – undo
157 157
 
158 158
 		if($content instanceof NodeList || $content instanceof DOMNodeList || is_array($content)){
159 159
 			return new NodeList($content);
160
-		}
161
-		elseif($content instanceof DOMNode){
160
+		} elseif($content instanceof DOMNode){
162 161
 			return new NodeList([$content]);
163
-		}
164
-		elseif(is_string($content)){
162
+		} elseif(is_string($content)){
165 163
 			return $this->_loadHTMLFragment($content);
166
-		}
167
-		else{
164
+		} else{
168 165
 			throw new \Exception('invalid content'); // @codeCoverageIgnore
169 166
 		}
170 167
 
Please login to merge, or discard this patch.
Unused Use Statements   +4 added lines, -1 removed lines patch added patch discarded remove patch
@@ -12,7 +12,10 @@
 block discarded – undo
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{
Please login to merge, or discard this patch.
Spacing   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -12,10 +12,10 @@  discard block
 block discarded – undo
12 12
 
13 13
 namespace chillerlan\PrototypeDOM;
14 14
 
15
-use DOMDocument,DOMNode, DOMNodeList, DOMXPath;
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
 	const NODE_CLASSES = [
21 21
 		'Attr',
@@ -34,10 +34,10 @@  discard block
 block discarded – undo
34 34
 	 * @param string|null $version
35 35
 	 * @param string|null $encoding
36 36
 	 */
37
-	public function __construct(string $content = null, $version = '1.0', $encoding = 'UTF-8'){
37
+	public function __construct(string $content = null, $version = '1.0', $encoding = 'UTF-8') {
38 38
 		parent::__construct($version, $encoding);
39 39
 
40
-		foreach(self::NODE_CLASSES as $nodeClass){
40
+		foreach (self::NODE_CLASSES as $nodeClass) {
41 41
 			$this->registerNodeClass('DOM'.$nodeClass, __NAMESPACE__.'\\'.$nodeClass);
42 42
 		}
43 43
 
@@ -84,21 +84,21 @@  discard block
 block discarded – undo
84 84
 	 */
85 85
 	public function select($selectors = null, DOMNode $contextNode = null, string $axis = 'descendant-or-self::', int $nodeType = XML_ELEMENT_NODE):NodeList{
86 86
 
87
-		if(is_string($selectors)){
87
+		if (is_string($selectors)) {
88 88
 			$selectors = [trim($selectors)];
89 89
 		}
90 90
 
91
-		if(!is_array($selectors) || empty($selectors)){
91
+		if (!is_array($selectors) || empty($selectors)) {
92 92
 			$selectors = ['*'];
93 93
 		}
94 94
 
95 95
 		$elements = new NodeList;
96 96
 
97
-		foreach($selectors as $selector){
97
+		foreach ($selectors as $selector) {
98 98
 
99
-			foreach($this->querySelectorAll($selector, $contextNode, $axis) as $element){
99
+			foreach ($this->querySelectorAll($selector, $contextNode, $axis) as $element) {
100 100
 
101
-				if($element->nodeType === $nodeType){
101
+				if ($element->nodeType === $nodeType) {
102 102
 					$elements[] = $element;
103 103
 				}
104 104
 
@@ -144,9 +144,9 @@  discard block
 block discarded – undo
144 144
 	public function removeElementsBySelector($selectors, DOMNode $contextNode = null, string $axis = 'descendant-or-self::'):Document{
145 145
 		$nodes = $this->select($selectors, $contextNode, $axis);
146 146
 
147
-		if(count($nodes) > 0){
147
+		if (count($nodes) > 0) {
148 148
 			/** @var \chillerlan\PrototypeDOM\Element $node */
149
-			foreach($nodes as $node){
149
+			foreach ($nodes as $node) {
150 150
 				$node->remove();
151 151
 			}
152 152
 
@@ -163,16 +163,16 @@  discard block
 block discarded – undo
163 163
 	 */
164 164
 	public function _toNodeList($content):NodeList{
165 165
 
166
-		if($content instanceof NodeList || $content instanceof DOMNodeList || is_array($content)){
166
+		if ($content instanceof NodeList || $content instanceof DOMNodeList || is_array($content)) {
167 167
 			return new NodeList($content);
168 168
 		}
169
-		elseif($content instanceof DOMNode){
169
+		elseif ($content instanceof DOMNode) {
170 170
 			return new NodeList([$content]);
171 171
 		}
172
-		elseif(is_string($content)){
172
+		elseif (is_string($content)) {
173 173
 			return $this->_loadHTMLFragment($content);
174 174
 		}
175
-		else{
175
+		else {
176 176
 			throw new \Exception('invalid content'); // @codeCoverageIgnore
177 177
 		}
178 178
 
@@ -189,15 +189,15 @@  discard block
 block discarded – undo
189 189
 	public function recursivelyCollect(DOMNode $element, string $property, int $maxLength = -1, int $nodeType = XML_ELEMENT_NODE):NodeList{
190 190
 		$nodes = new NodeList;
191 191
 
192
-		if(in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])){
192
+		if (in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])) {
193 193
 
194
-			while($element = $element->{$property}){
194
+			while ($element = $element->{$property}) {
195 195
 
196
-				if($element->nodeType === $nodeType){
196
+				if ($element->nodeType === $nodeType) {
197 197
 					$nodes[] = $element;
198 198
 				}
199 199
 
200
-				if(count($nodes) === $maxLength){
200
+				if (count($nodes) === $maxLength) {
201 201
 					break;
202 202
 				}
203 203
 
@@ -217,14 +217,14 @@  discard block
 block discarded – undo
217 217
 	 *
218 218
 	 * @return \DOMNode|null
219 219
 	 */
220
-	public function _recursivelyFind(DOMNode $element, string $property, string $selector = null, int $index = 0, int $nodeType = XML_ELEMENT_NODE){
220
+	public function _recursivelyFind(DOMNode $element, string $property, string $selector = null, int $index = 0, int $nodeType = XML_ELEMENT_NODE) {
221 221
 
222
-		if(in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])){
222
+		if (in_array($property, ['parentNode', 'previousSibling', 'nextSibling'])) {
223 223
 
224 224
 			/** @var \chillerlan\PrototypeDOM\Element $element */
225
-			while($element = $element->{$property}){
225
+			while ($element = $element->{$property}) {
226 226
 
227
-				if($element->nodeType !== $nodeType || !is_null($selector) && !$element->match($selector) || --$index >= 0){
227
+				if ($element->nodeType !== $nodeType || !is_null($selector) && !$element->match($selector) || --$index >= 0) {
228 228
 					continue;
229 229
 				}
230 230
 
@@ -244,9 +244,9 @@  discard block
 block discarded – undo
244 244
 	 */
245 245
 	public function match(DOMNode $element, string $selector):bool{
246 246
 
247
-		foreach($this->select($selector) as $match){
247
+		foreach ($this->select($selector) as $match) {
248 248
 
249
-			if($element->isSameNode($match)){
249
+			if ($element->isSameNode($match)) {
250 250
 				return true;
251 251
 			}
252 252
 
@@ -265,7 +265,7 @@  discard block
 block discarded – undo
265 265
 		/** @var \chillerlan\PrototypeDOM\Element $element */
266 266
 		$element = $this->createElement($tag);
267 267
 
268
-		if($attributes){
268
+		if ($attributes) {
269 269
 			$element->setAttributes($attributes);
270 270
 		}
271 271
 
Please login to merge, or discard this patch.
src/Text.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -14,7 +14,7 @@
 block discarded – undo
14 14
 
15 15
 use DOMText;
16 16
 
17
-class Text extends DOMText{
17
+class Text extends DOMText {
18 18
 	use ManipulationTrait, TraversalTrait;
19 19
 
20 20
 }
Please login to merge, or discard this patch.
src/Element.php 1 patch
Spacing   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -14,7 +14,7 @@  discard block
 block discarded – undo
14 14
 
15 15
 use DOMElement;
16 16
 
17
-class Element extends DOMElement{
17
+class Element extends DOMElement {
18 18
 	use ManipulationTrait, TraversalTrait;
19 19
 
20 20
 	/**
@@ -25,7 +25,7 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 
Please login to merge, or discard this patch.
src/ManipulationTrait.php 2 patches
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -168,8 +168,7 @@
 block discarded – undo
168 168
 
169 169
 			}
170 170
 
171
-		}
172
-		else{
171
+		} else{
173 172
 			foreach($this->ownerDocument->_toNodeList($content) as $node){
174 173
 				$this->insert_bottom($node);
175 174
 			}
Please login to merge, or discard this patch.
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
 /**
18 18
  * @extends \DOMNode
19 19
  */
20
-trait ManipulationTrait{
20
+trait ManipulationTrait {
21 21
 
22 22
 	/**
23 23
 	 * @link http://php.net/manual/class.domnode.php#domnode.props.ownerdocument
@@ -46,7 +46,7 @@  discard block
 block discarded – undo
46 46
 	 */
47 47
 	public function remove():DOMNode{
48 48
 
49
-		if(!$this->parentNode){
49
+		if (!$this->parentNode) {
50 50
 			/** @var \DOMNode $this */
51 51
 			return $this;
52 52
 		}
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
 	 */
63 63
 	public function replace(DOMNode $newnode):DOMNode{
64 64
 
65
-		if(!$this->parentNode){
65
+		if (!$this->parentNode) {
66 66
 			/** @var \DOMNode $this */
67 67
 			return $this;
68 68
 		}
@@ -86,7 +86,7 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 
@@ -149,18 +149,18 @@  discard block
 block discarded – undo
149 149
 	 */
150 150
 	public function insert($content):DOMNode{
151 151
 
152
-		if(is_array($content)){
152
+		if (is_array($content)) {
153 153
 
154
-			foreach(['before', 'after', 'top', 'bottom'] as $pos){
154
+			foreach (['before', 'after', 'top', 'bottom'] as $pos) {
155 155
 
156
-				if(array_key_exists($pos, $content)){
156
+				if (array_key_exists($pos, $content)) {
157 157
 					$nodes = $this->ownerDocument->_toNodeList($content[$pos]);
158 158
 
159
-					if($pos === 'top' && $this->hasChildNodes() || $pos === 'after' && $this->nextSibling){
159
+					if ($pos === 'top' && $this->hasChildNodes() || $pos === 'after' && $this->nextSibling) {
160 160
 						$nodes->reverse();
161 161
 					}
162 162
 
163
-					foreach($nodes as $node){
163
+					foreach ($nodes as $node) {
164 164
 						call_user_func_array([$this, 'insert_'.$pos], [$node]);
165 165
 					}
166 166
 
@@ -169,8 +169,8 @@  discard block
 block discarded – undo
169 169
 			}
170 170
 
171 171
 		}
172
-		else{
173
-			foreach($this->ownerDocument->_toNodeList($content) as $node){
172
+		else {
173
+			foreach ($this->ownerDocument->_toNodeList($content) as $node) {
174 174
 				$this->insert_bottom($node);
175 175
 			}
176 176
 		}
@@ -187,7 +187,7 @@  discard block
 block discarded – undo
187 187
 	 */
188 188
 	public function insert_before(DOMNode $node, DOMNode $refNode = null):DOMNode{
189 189
 
190
-		if($this->parentNode){
190
+		if ($this->parentNode) {
191 191
 			$this->parentNode->insertBefore($this->_importNode($node), $refNode ?? $this);
192 192
 		}
193 193
 
Please login to merge, or discard this patch.
src/DocumentType.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -14,4 +14,4 @@
 block discarded – undo
14 14
 
15 15
 use DOMDocumentType;
16 16
 
17
-class DocumentType extends DOMDocumentType{}
17
+class DocumentType extends DOMDocumentType {}
Please login to merge, or discard this patch.