@@ -42,11 +42,11 @@ discard block |
||
42 | 42 | public function setSource(&$source): void |
43 | 43 | { |
44 | 44 | /** @var array<scalar, mixed>|object|mixed|null $source */ |
45 | - if($source === null) { |
|
45 | + if ($source === null) { |
|
46 | 46 | $source = []; |
47 | 47 | } |
48 | 48 | |
49 | - if(is_scalar($source)) { |
|
49 | + if (is_scalar($source)) { |
|
50 | 50 | throw NestedAccessorException::createAsSourceIsScalar($source); |
51 | 51 | } |
52 | 52 | |
@@ -60,7 +60,7 @@ discard block |
||
60 | 60 | public function get($path = null, bool $strict = true) |
61 | 61 | { |
62 | 62 | // when path is not specified |
63 | - if($path === null || $path === '') { |
|
63 | + if ($path === null || $path === '') { |
|
64 | 64 | // let's return the full source |
65 | 65 | return $this->source; |
66 | 66 | } |
@@ -80,7 +80,7 @@ discard block |
||
80 | 80 | ); |
81 | 81 | |
82 | 82 | // when strict mode is on and we got errors |
83 | - if($strict && $errorsCount) { |
|
83 | + if ($strict && $errorsCount) { |
|
84 | 84 | throw NestedAccessorException::createAsCannotGetValue( |
85 | 85 | implode($this->pathDelimiter, $path), |
86 | 86 | $errorsCount |
@@ -116,7 +116,7 @@ discard block |
||
116 | 116 | try { |
117 | 117 | $this->get($path); |
118 | 118 | return true; |
119 | - } catch(NestedAccessorException $e) { |
|
119 | + } catch (NestedAccessorException $e) { |
|
120 | 120 | return false; |
121 | 121 | } |
122 | 122 | } |
@@ -128,7 +128,7 @@ discard block |
||
128 | 128 | { |
129 | 129 | try { |
130 | 130 | return $this->get($path) !== null; |
131 | - } catch(NestedAccessorException $e) { |
|
131 | + } catch (NestedAccessorException $e) { |
|
132 | 132 | return false; |
133 | 133 | } |
134 | 134 | } |
@@ -144,14 +144,14 @@ discard block |
||
144 | 144 | protected function _get($source, array $path, &$result, int &$errorsCount): void |
145 | 145 | { |
146 | 146 | // let's iterate every path part from stack |
147 | - while(count($path)) { |
|
148 | - if(is_array($source) && !ArrayHelper::isAssoc($source)) { |
|
147 | + while (count($path)) { |
|
148 | + if (is_array($source) && !ArrayHelper::isAssoc($source)) { |
|
149 | 149 | // the result will be multiple |
150 | - if(!is_array($result)) { |
|
150 | + if (!is_array($result)) { |
|
151 | 151 | $result = []; |
152 | 152 | } |
153 | 153 | // and we need to use recursive call for each item of this array |
154 | - foreach($source as $item) { |
|
154 | + foreach ($source as $item) { |
|
155 | 155 | $this->_get($item, $path, $result, $errorsCount); |
156 | 156 | } |
157 | 157 | // we don't need to do something in this recursive branch |
@@ -160,8 +160,8 @@ discard block |
||
160 | 160 | |
161 | 161 | $key = array_pop($path); |
162 | 162 | |
163 | - if(is_array($source)) { |
|
164 | - if(!array_key_exists($key, $source)) { |
|
163 | + if (is_array($source)) { |
|
164 | + if (!array_key_exists($key, $source)) { |
|
165 | 165 | // path part key is missing in source array |
166 | 166 | $errorsCount++; |
167 | 167 | // we cannot go deeper |
@@ -169,12 +169,12 @@ discard block |
||
169 | 169 | } |
170 | 170 | // go to the next nested level |
171 | 171 | $source = $source[$key]; |
172 | - } elseif(is_object($source)) { |
|
172 | + } elseif (is_object($source)) { |
|
173 | 173 | $getterName = 'get'.ucfirst($key); |
174 | - if(method_exists($source, $getterName)) { |
|
174 | + if (method_exists($source, $getterName)) { |
|
175 | 175 | // go to the next nested level |
176 | 176 | $source = $source->{$getterName}(); |
177 | - } elseif(property_exists($source, $key)) { |
|
177 | + } elseif (property_exists($source, $key)) { |
|
178 | 178 | // go to the next nested level |
179 | 179 | $source = $source->{$key}; |
180 | 180 | } else { |
@@ -192,13 +192,13 @@ discard block |
||
192 | 192 | |
193 | 193 | // when it's not the last iteration of the stack |
194 | 194 | // and the source is non-associative array (list) |
195 | - if(count($path) && is_array($source) && !ArrayHelper::isAssoc($source)) { |
|
195 | + if (count($path) && is_array($source) && !ArrayHelper::isAssoc($source)) { |
|
196 | 196 | // the result will be multiple |
197 | - if(!is_array($result)) { |
|
197 | + if (!is_array($result)) { |
|
198 | 198 | $result = []; |
199 | 199 | } |
200 | 200 | // and we need to use recursive call for each item of this array |
201 | - foreach($source as $item) { |
|
201 | + foreach ($source as $item) { |
|
202 | 202 | $this->_get($item, $path, $result, $errorsCount); |
203 | 203 | } |
204 | 204 | // we don't need to do something in this recursive branch |
@@ -208,7 +208,7 @@ discard block |
||
208 | 208 | |
209 | 209 | // now path stack is empty — we reached target value of given path in source argument |
210 | 210 | // so if result is multiple |
211 | - if(is_array($result)) { |
|
211 | + if (is_array($result)) { |
|
212 | 212 | // we append source to result |
213 | 213 | $result[] = $source; |
214 | 214 | } else { |
@@ -232,15 +232,15 @@ discard block |
||
232 | 232 | { |
233 | 233 | $temp = &$source; |
234 | 234 | // let's iterate every path part to go deeper into nesting |
235 | - foreach($path as $key) { |
|
236 | - if(isset($temp) && is_scalar($temp)) { |
|
235 | + foreach ($path as $key) { |
|
236 | + if (isset($temp) && is_scalar($temp)) { |
|
237 | 237 | // value in the middle of the path must me an array |
238 | 238 | $temp = []; |
239 | 239 | } |
240 | 240 | |
241 | 241 | // go to the next nested level |
242 | - if(is_object($temp)) { |
|
243 | - if($strict && !property_exists($temp, $key)) { |
|
242 | + if (is_object($temp)) { |
|
243 | + if ($strict && !property_exists($temp, $key)) { |
|
244 | 244 | throw NestedAccessorException::createAsCannotSetValue(implode($this->pathDelimiter, $path)); |
245 | 245 | } |
246 | 246 | $temp = &$temp->{$key}; |
@@ -251,11 +251,11 @@ discard block |
||
251 | 251 | } |
252 | 252 | } |
253 | 253 | // now we can save value to the source |
254 | - if($append) { |
|
255 | - if(!is_array($temp) || ArrayHelper::isAssoc($temp)) { |
|
256 | - if($strict) { |
|
254 | + if ($append) { |
|
255 | + if (!is_array($temp) || ArrayHelper::isAssoc($temp)) { |
|
256 | + if ($strict) { |
|
257 | 257 | throw NestedAccessorException::createAsCannotSetValue(implode($this->pathDelimiter, $path)); |
258 | - } elseif(!is_array($temp)) { |
|
258 | + } elseif (!is_array($temp)) { |
|
259 | 259 | $temp = []; |
260 | 260 | } |
261 | 261 | } |
@@ -275,11 +275,11 @@ discard block |
||
275 | 275 | */ |
276 | 276 | protected function formatPath($path): array |
277 | 277 | { |
278 | - if(is_array($path)) { |
|
278 | + if (is_array($path)) { |
|
279 | 279 | return $path; |
280 | 280 | } |
281 | 281 | |
282 | - if($path === null || $path === '') { |
|
282 | + if ($path === null || $path === '') { |
|
283 | 283 | return []; |
284 | 284 | } |
285 | 285 |