@@ 8-372 (lines=365) @@ | ||
5 | namespace voku\helper; |
|
6 | ||
7 | /** @noinspection PhpHierarchyChecksInspection */ |
|
8 | class SimpleHtmlDomBlank extends AbstractSimpleHtmlDom implements \IteratorAggregate, SimpleHtmlDomInterface |
|
9 | { |
|
10 | /** |
|
11 | * @param string $name |
|
12 | * @param array $arguments |
|
13 | * |
|
14 | * @throws \BadMethodCallException |
|
15 | * |
|
16 | * @return SimpleHtmlDomInterface|string|null |
|
17 | */ |
|
18 | public function __call($name, $arguments) |
|
19 | { |
|
20 | $name = \strtolower($name); |
|
21 | ||
22 | if (isset(self::$functionAliases[$name])) { |
|
23 | return \call_user_func_array([$this, self::$functionAliases[$name]], $arguments); |
|
24 | } |
|
25 | ||
26 | throw new \BadMethodCallException('Method does not exist'); |
|
27 | } |
|
28 | ||
29 | /** |
|
30 | * Find list of nodes with a CSS selector. |
|
31 | * |
|
32 | * @param string $selector |
|
33 | * @param int|null $idx |
|
34 | * |
|
35 | * @return SimpleHtmlDomNodeInterface |
|
36 | */ |
|
37 | public function find(string $selector, $idx = null) |
|
38 | { |
|
39 | return new SimpleHtmlDomNodeBlank(); |
|
40 | } |
|
41 | ||
42 | /** |
|
43 | * Returns an array of attributes. |
|
44 | * |
|
45 | * @return null |
|
46 | */ |
|
47 | public function getAllAttributes() |
|
48 | { |
|
49 | return null; |
|
50 | } |
|
51 | ||
52 | /** |
|
53 | * Return attribute value. |
|
54 | * |
|
55 | * @param string $name |
|
56 | * |
|
57 | * @return string |
|
58 | */ |
|
59 | public function getAttribute(string $name): string |
|
60 | { |
|
61 | return ''; |
|
62 | } |
|
63 | ||
64 | /** |
|
65 | * Determine if an attribute exists on the element. |
|
66 | * |
|
67 | * @param string $name |
|
68 | * |
|
69 | * @return bool |
|
70 | */ |
|
71 | public function hasAttribute(string $name): bool |
|
72 | { |
|
73 | return false; |
|
74 | } |
|
75 | ||
76 | /** |
|
77 | * Get dom node's outer html. |
|
78 | * |
|
79 | * @param bool $multiDecodeNewHtmlEntity |
|
80 | * |
|
81 | * @return string |
|
82 | */ |
|
83 | public function html(bool $multiDecodeNewHtmlEntity = false): string |
|
84 | { |
|
85 | return ''; |
|
86 | } |
|
87 | ||
88 | /** |
|
89 | * Get dom node's inner html. |
|
90 | * |
|
91 | * @param bool $multiDecodeNewHtmlEntity |
|
92 | * |
|
93 | * @return string |
|
94 | */ |
|
95 | public function innerHtml(bool $multiDecodeNewHtmlEntity = false): string |
|
96 | { |
|
97 | return ''; |
|
98 | } |
|
99 | ||
100 | /** |
|
101 | * Remove attribute. |
|
102 | * |
|
103 | * @param string $name <p>The name of the html-attribute.</p> |
|
104 | * |
|
105 | * @return SimpleHtmlDomInterface |
|
106 | */ |
|
107 | public function removeAttribute(string $name): SimpleHtmlDomInterface |
|
108 | { |
|
109 | return $this; |
|
110 | } |
|
111 | ||
112 | protected function replaceChildWithString(string $string): SimpleHtmlDomInterface |
|
113 | { |
|
114 | return new static(); |
|
115 | } |
|
116 | ||
117 | protected function replaceNodeWithString(string $string): SimpleHtmlDomInterface |
|
118 | { |
|
119 | return new static(); |
|
120 | } |
|
121 | ||
122 | protected function replaceTextWithString($string): SimpleHtmlDomInterface |
|
123 | { |
|
124 | return new static(); |
|
125 | } |
|
126 | ||
127 | /** |
|
128 | * Set attribute value. |
|
129 | * |
|
130 | * @param string $name <p>The name of the html-attribute.</p> |
|
131 | * @param string|null $value <p>Set to NULL or empty string, to remove the attribute.</p> |
|
132 | * @param bool $strict </p> |
|
133 | * $value must be NULL, to remove the attribute, |
|
134 | * so that you can set an empty string as attribute-value e.g. autofocus="" |
|
135 | * </p> |
|
136 | * |
|
137 | * @return SimpleHtmlDomInterface |
|
138 | */ |
|
139 | public function setAttribute(string $name, $value = null, bool $strict = false): SimpleHtmlDomInterface |
|
140 | { |
|
141 | return $this; |
|
142 | } |
|
143 | ||
144 | /** |
|
145 | * Get dom node's plain text. |
|
146 | * |
|
147 | * @return string |
|
148 | */ |
|
149 | public function text(): string |
|
150 | { |
|
151 | return ''; |
|
152 | } |
|
153 | ||
154 | /** |
|
155 | * Returns children of node. |
|
156 | * |
|
157 | * @param int $idx |
|
158 | * |
|
159 | * @return null |
|
160 | */ |
|
161 | public function childNodes(int $idx = -1) |
|
162 | { |
|
163 | return null; |
|
164 | } |
|
165 | ||
166 | /** |
|
167 | * Find nodes with a CSS selector. |
|
168 | * |
|
169 | * @param string $selector |
|
170 | * |
|
171 | * @return SimpleHtmlDomNodeInterface |
|
172 | */ |
|
173 | public function findMulti(string $selector): SimpleHtmlDomNodeInterface |
|
174 | { |
|
175 | return new SimpleHtmlDomNodeBlank(); |
|
176 | } |
|
177 | ||
178 | /** |
|
179 | * Find one node with a CSS selector. |
|
180 | * |
|
181 | * @param string $selector |
|
182 | * |
|
183 | * @return SimpleHtmlDomInterface |
|
184 | */ |
|
185 | public function findOne(string $selector): SimpleHtmlDomInterface |
|
186 | { |
|
187 | return new static(); |
|
188 | } |
|
189 | ||
190 | /** |
|
191 | * Returns the first child of node. |
|
192 | * |
|
193 | * @return null |
|
194 | */ |
|
195 | public function firstChild() |
|
196 | { |
|
197 | return null; |
|
198 | } |
|
199 | ||
200 | /** |
|
201 | * Return elements by .class. |
|
202 | * |
|
203 | * @param string $class |
|
204 | * |
|
205 | * @return SimpleHtmlDomNodeInterface |
|
206 | */ |
|
207 | public function getElementByClass(string $class): SimpleHtmlDomNodeInterface |
|
208 | { |
|
209 | return new SimpleHtmlDomNodeBlank(); |
|
210 | } |
|
211 | ||
212 | /** |
|
213 | * Return element by #id. |
|
214 | * |
|
215 | * @param string $id |
|
216 | * |
|
217 | * @return SimpleHtmlDomInterface |
|
218 | */ |
|
219 | public function getElementById(string $id): SimpleHtmlDomInterface |
|
220 | { |
|
221 | return new static(); |
|
222 | } |
|
223 | ||
224 | /** |
|
225 | * Return element by tag name. |
|
226 | * |
|
227 | * @param string $name |
|
228 | * |
|
229 | * @return SimpleHtmlDomInterface |
|
230 | */ |
|
231 | public function getElementByTagName(string $name): SimpleHtmlDomInterface |
|
232 | { |
|
233 | return new static(); |
|
234 | } |
|
235 | ||
236 | /** |
|
237 | * Returns elements by #id. |
|
238 | * |
|
239 | * @param string $id |
|
240 | * @param int|null $idx |
|
241 | * |
|
242 | * @return SimpleHtmlDomNodeInterface |
|
243 | */ |
|
244 | public function getElementsById(string $id, $idx = null) |
|
245 | { |
|
246 | return new SimpleHtmlDomNodeBlank(); |
|
247 | } |
|
248 | ||
249 | /** |
|
250 | * Returns elements by tag name. |
|
251 | * |
|
252 | * @param string $name |
|
253 | * @param int|null $idx |
|
254 | * |
|
255 | * @return SimpleHtmlDomNodeInterface |
|
256 | */ |
|
257 | public function getElementsByTagName(string $name, $idx = null) |
|
258 | { |
|
259 | return new SimpleHtmlDomNodeBlank(); |
|
260 | } |
|
261 | ||
262 | /** |
|
263 | * Create a new "HtmlDomParser"-object from the current context. |
|
264 | * |
|
265 | * @return HtmlDomParser |
|
266 | */ |
|
267 | public function getHtmlDomParser(): HtmlDomParser |
|
268 | { |
|
269 | return new HtmlDomParser($this); |
|
270 | } |
|
271 | ||
272 | /** |
|
273 | * @return \DOMNode |
|
274 | */ |
|
275 | public function getNode(): \DOMNode |
|
276 | { |
|
277 | return new \DOMNode(); |
|
278 | } |
|
279 | ||
280 | /** |
|
281 | * Nodes can get partially destroyed in which they're still an |
|
282 | * actual DOM node (such as \DOMElement) but almost their entire |
|
283 | * body is gone, including the `nodeType` attribute. |
|
284 | * |
|
285 | * @return bool true if node has been destroyed |
|
286 | */ |
|
287 | public function isRemoved(): bool |
|
288 | { |
|
289 | return true; |
|
290 | } |
|
291 | ||
292 | /** |
|
293 | * Returns the last child of node. |
|
294 | * |
|
295 | * @return null |
|
296 | */ |
|
297 | public function lastChild() |
|
298 | { |
|
299 | return null; |
|
300 | } |
|
301 | ||
302 | /** |
|
303 | * Returns the next sibling of node. |
|
304 | * |
|
305 | * @return null |
|
306 | */ |
|
307 | public function nextSibling() |
|
308 | { |
|
309 | return null; |
|
310 | } |
|
311 | ||
312 | /** |
|
313 | * Returns the parent of node. |
|
314 | * |
|
315 | * @return SimpleHtmlDomInterface |
|
316 | */ |
|
317 | public function parentNode(): SimpleHtmlDomInterface |
|
318 | { |
|
319 | return new static(); |
|
320 | } |
|
321 | ||
322 | /** |
|
323 | * Returns the previous sibling of node. |
|
324 | * |
|
325 | * @return null |
|
326 | */ |
|
327 | public function previousSibling() |
|
328 | { |
|
329 | return null; |
|
330 | } |
|
331 | ||
332 | /** |
|
333 | * @param string|string[]|null $value <p> |
|
334 | * null === get the current input value |
|
335 | * text === set a new input value |
|
336 | * </p> |
|
337 | * |
|
338 | * @return string|string[]|null |
|
339 | */ |
|
340 | public function val($value = null) |
|
341 | { |
|
342 | return null; |
|
343 | } |
|
344 | ||
345 | /** |
|
346 | * Retrieve an external iterator. |
|
347 | * |
|
348 | * @see http://php.net/manual/en/iteratoraggregate.getiterator.php |
|
349 | * |
|
350 | * @return SimpleHtmlDomNodeInterface |
|
351 | * <p> |
|
352 | * An instance of an object implementing <b>Iterator</b> or |
|
353 | * <b>Traversable</b> |
|
354 | * </p> |
|
355 | */ |
|
356 | public function getIterator(): SimpleHtmlDomNodeInterface |
|
357 | { |
|
358 | return new SimpleHtmlDomNodeBlank(); |
|
359 | } |
|
360 | ||
361 | /** |
|
362 | * Get dom node's inner xml. |
|
363 | * |
|
364 | * @param bool $multiDecodeNewHtmlEntity |
|
365 | * |
|
366 | * @return string |
|
367 | */ |
|
368 | public function innerXml(bool $multiDecodeNewHtmlEntity = false): string |
|
369 | { |
|
370 | return ''; |
|
371 | } |
|
372 | } |
|
373 |
@@ 8-384 (lines=377) @@ | ||
5 | namespace voku\helper; |
|
6 | ||
7 | /** @noinspection PhpHierarchyChecksInspection */ |
|
8 | class SimpleXmlDomBlank extends AbstractSimpleXmlDom implements \IteratorAggregate, SimpleXmlDomInterface |
|
9 | { |
|
10 | /** |
|
11 | * @param string $name |
|
12 | * @param array $arguments |
|
13 | * |
|
14 | * @throws \BadMethodCallException |
|
15 | * |
|
16 | * @return SimpleXmlDomInterface|string|null |
|
17 | */ |
|
18 | public function __call($name, $arguments) |
|
19 | { |
|
20 | $name = \strtolower($name); |
|
21 | ||
22 | if (isset(self::$functionAliases[$name])) { |
|
23 | return \call_user_func_array([$this, self::$functionAliases[$name]], $arguments); |
|
24 | } |
|
25 | ||
26 | throw new \BadMethodCallException('Method does not exist'); |
|
27 | } |
|
28 | ||
29 | /** |
|
30 | * Find list of nodes with a CSS selector. |
|
31 | * |
|
32 | * @param string $selector |
|
33 | * @param int|null $idx |
|
34 | * |
|
35 | * @return SimpleXmlDomNodeInterface |
|
36 | */ |
|
37 | public function find(string $selector, $idx = null) |
|
38 | { |
|
39 | return new SimpleXmlDomNodeBlank(); |
|
40 | } |
|
41 | ||
42 | /** |
|
43 | * Returns an array of attributes. |
|
44 | * |
|
45 | * @return null |
|
46 | */ |
|
47 | public function getAllAttributes() |
|
48 | { |
|
49 | return null; |
|
50 | } |
|
51 | ||
52 | /** |
|
53 | * Return attribute value. |
|
54 | * |
|
55 | * @param string $name |
|
56 | * |
|
57 | * @return string |
|
58 | */ |
|
59 | public function getAttribute(string $name): string |
|
60 | { |
|
61 | return ''; |
|
62 | } |
|
63 | ||
64 | /** |
|
65 | * Determine if an attribute exists on the element. |
|
66 | * |
|
67 | * @param string $name |
|
68 | * |
|
69 | * @return bool |
|
70 | */ |
|
71 | public function hasAttribute(string $name): bool |
|
72 | { |
|
73 | return false; |
|
74 | } |
|
75 | ||
76 | /** |
|
77 | * Get dom node's inner xml. |
|
78 | * |
|
79 | * @param bool $multiDecodeNewHtmlEntity |
|
80 | * |
|
81 | * @return string |
|
82 | */ |
|
83 | public function innerXml(bool $multiDecodeNewHtmlEntity = false): string |
|
84 | { |
|
85 | return ''; |
|
86 | } |
|
87 | ||
88 | /** |
|
89 | * Remove attribute. |
|
90 | * |
|
91 | * @param string $name <p>The name of the html-attribute.</p> |
|
92 | * |
|
93 | * @return SimpleXmlDomInterface |
|
94 | */ |
|
95 | public function removeAttribute(string $name): SimpleXmlDomInterface |
|
96 | { |
|
97 | return $this; |
|
98 | } |
|
99 | ||
100 | protected function replaceChildWithString(string $string): SimpleXmlDomInterface |
|
101 | { |
|
102 | return new static(); |
|
103 | } |
|
104 | ||
105 | protected function replaceNodeWithString(string $string): SimpleXmlDomInterface |
|
106 | { |
|
107 | return new static(); |
|
108 | } |
|
109 | ||
110 | protected function replaceTextWithString($string): SimpleXmlDomInterface |
|
111 | { |
|
112 | return new static(); |
|
113 | } |
|
114 | ||
115 | /** |
|
116 | * Set attribute value. |
|
117 | * |
|
118 | * @param string $name <p>The name of the html-attribute.</p> |
|
119 | * @param string|null $value <p>Set to NULL or empty string, to remove the attribute.</p> |
|
120 | * @param bool $strict </p> |
|
121 | * $value must be NULL, to remove the attribute, |
|
122 | * so that you can set an empty string as attribute-value e.g. autofocus="" |
|
123 | * </p> |
|
124 | * |
|
125 | * @return SimpleXmlDomInterface |
|
126 | */ |
|
127 | public function setAttribute(string $name, $value = null, bool $strict = false): SimpleXmlDomInterface |
|
128 | { |
|
129 | return $this; |
|
130 | } |
|
131 | ||
132 | /** |
|
133 | * Get dom node's plain text. |
|
134 | * |
|
135 | * @return string |
|
136 | */ |
|
137 | public function text(): string |
|
138 | { |
|
139 | return ''; |
|
140 | } |
|
141 | ||
142 | /** |
|
143 | * Get dom node's outer html. |
|
144 | * |
|
145 | * @param bool $multiDecodeNewHtmlEntity |
|
146 | * |
|
147 | * @return string |
|
148 | */ |
|
149 | public function xml(bool $multiDecodeNewHtmlEntity = false): string |
|
150 | { |
|
151 | return ''; |
|
152 | } |
|
153 | ||
154 | /** |
|
155 | * Returns children of node. |
|
156 | * |
|
157 | * @param int $idx |
|
158 | * |
|
159 | * @return null |
|
160 | */ |
|
161 | public function childNodes(int $idx = -1) |
|
162 | { |
|
163 | return null; |
|
164 | } |
|
165 | ||
166 | /** |
|
167 | * Find nodes with a CSS selector. |
|
168 | * |
|
169 | * @param string $selector |
|
170 | * |
|
171 | * @return SimpleXmlDomNodeInterface |
|
172 | */ |
|
173 | public function findMulti(string $selector): SimpleXmlDomNodeInterface |
|
174 | { |
|
175 | return new SimpleXmlDomNodeBlank(); |
|
176 | } |
|
177 | ||
178 | /** |
|
179 | * Find one node with a CSS selector. |
|
180 | * |
|
181 | * @param string $selector |
|
182 | * |
|
183 | * @return SimpleXmlDomInterface |
|
184 | */ |
|
185 | public function findOne(string $selector): SimpleXmlDomInterface |
|
186 | { |
|
187 | return new static(); |
|
188 | } |
|
189 | ||
190 | /** |
|
191 | * Returns the first child of node. |
|
192 | * |
|
193 | * @return null |
|
194 | */ |
|
195 | public function firstChild() |
|
196 | { |
|
197 | return null; |
|
198 | } |
|
199 | ||
200 | /** |
|
201 | * Return elements by .class. |
|
202 | * |
|
203 | * @param string $class |
|
204 | * |
|
205 | * @return SimpleXmlDomNodeInterface |
|
206 | */ |
|
207 | public function getElementByClass(string $class): SimpleXmlDomNodeInterface |
|
208 | { |
|
209 | return new SimpleXmlDomNodeBlank(); |
|
210 | } |
|
211 | ||
212 | /** |
|
213 | * Return element by #id. |
|
214 | * |
|
215 | * @param string $id |
|
216 | * |
|
217 | * @return SimpleXmlDomInterface |
|
218 | */ |
|
219 | public function getElementById(string $id): SimpleXmlDomInterface |
|
220 | { |
|
221 | return new static(); |
|
222 | } |
|
223 | ||
224 | /** |
|
225 | * Return element by tag name. |
|
226 | * |
|
227 | * @param string $name |
|
228 | * |
|
229 | * @return SimpleXmlDomInterface |
|
230 | */ |
|
231 | public function getElementByTagName(string $name): SimpleXmlDomInterface |
|
232 | { |
|
233 | return new static(); |
|
234 | } |
|
235 | ||
236 | /** |
|
237 | * Returns elements by #id. |
|
238 | * |
|
239 | * @param string $id |
|
240 | * @param int|null $idx |
|
241 | * |
|
242 | * @return SimpleXmlDomNodeInterface |
|
243 | */ |
|
244 | public function getElementsById(string $id, $idx = null) |
|
245 | { |
|
246 | return new SimpleXmlDomNodeBlank(); |
|
247 | } |
|
248 | ||
249 | /** |
|
250 | * Returns elements by tag name. |
|
251 | * |
|
252 | * @param string $name |
|
253 | * @param int|null $idx |
|
254 | * |
|
255 | * @return SimpleXmlDomNodeInterface |
|
256 | */ |
|
257 | public function getElementsByTagName(string $name, $idx = null) |
|
258 | { |
|
259 | return new SimpleXmlDomNodeBlank(); |
|
260 | } |
|
261 | ||
262 | /** |
|
263 | * @return \DOMNode |
|
264 | */ |
|
265 | public function getNode(): \DOMNode |
|
266 | { |
|
267 | return new \DOMNode(); |
|
268 | } |
|
269 | ||
270 | /** |
|
271 | * Create a new "XmlDomParser"-object from the current context. |
|
272 | * |
|
273 | * @return XmlDomParser |
|
274 | */ |
|
275 | public function getXmlDomParser(): XmlDomParser |
|
276 | { |
|
277 | return new XmlDomParser($this); |
|
278 | } |
|
279 | ||
280 | /** |
|
281 | * Get dom node's inner html. |
|
282 | * |
|
283 | * @param bool $multiDecodeNewHtmlEntity |
|
284 | * |
|
285 | * @return string |
|
286 | */ |
|
287 | public function innerHtml(bool $multiDecodeNewHtmlEntity = false): string |
|
288 | { |
|
289 | return ''; |
|
290 | } |
|
291 | ||
292 | /** |
|
293 | * Nodes can get partially destroyed in which they're still an |
|
294 | * actual DOM node (such as \DOMElement) but almost their entire |
|
295 | * body is gone, including the `nodeType` attribute. |
|
296 | * |
|
297 | * @return bool true if node has been destroyed |
|
298 | */ |
|
299 | public function isRemoved(): bool |
|
300 | { |
|
301 | return true; |
|
302 | } |
|
303 | ||
304 | /** |
|
305 | * Returns the last child of node. |
|
306 | * |
|
307 | * @return null |
|
308 | */ |
|
309 | public function lastChild() |
|
310 | { |
|
311 | return null; |
|
312 | } |
|
313 | ||
314 | /** |
|
315 | * Returns the next sibling of node. |
|
316 | * |
|
317 | * @return null |
|
318 | */ |
|
319 | public function nextSibling() |
|
320 | { |
|
321 | return null; |
|
322 | } |
|
323 | ||
324 | /** |
|
325 | * Returns the parent of node. |
|
326 | * |
|
327 | * @return SimpleXmlDomInterface |
|
328 | */ |
|
329 | public function parentNode(): SimpleXmlDomInterface |
|
330 | { |
|
331 | return new static(); |
|
332 | } |
|
333 | ||
334 | /** |
|
335 | * Returns the previous sibling of node. |
|
336 | * |
|
337 | * @return null |
|
338 | */ |
|
339 | public function previousSibling() |
|
340 | { |
|
341 | return null; |
|
342 | } |
|
343 | ||
344 | /** |
|
345 | * @param string|string[]|null $value <p> |
|
346 | * null === get the current input value |
|
347 | * text === set a new input value |
|
348 | * </p> |
|
349 | * |
|
350 | * @return string|string[]|null |
|
351 | */ |
|
352 | public function val($value = null) |
|
353 | { |
|
354 | return null; |
|
355 | } |
|
356 | ||
357 | /** |
|
358 | * Retrieve an external iterator. |
|
359 | * |
|
360 | * @see http://php.net/manual/en/iteratoraggregate.getiterator.php |
|
361 | * |
|
362 | * @return SimpleXmlDomNodeInterface |
|
363 | * <p> |
|
364 | * An instance of an object implementing <b>Iterator</b> or |
|
365 | * <b>Traversable</b> |
|
366 | * </p> |
|
367 | */ |
|
368 | public function getIterator(): SimpleXmlDomNodeInterface |
|
369 | { |
|
370 | return new SimpleXmlDomNodeBlank(); |
|
371 | } |
|
372 | ||
373 | /** |
|
374 | * Get dom node's outer html. |
|
375 | * |
|
376 | * @param bool $multiDecodeNewHtmlEntity |
|
377 | * |
|
378 | * @return string |
|
379 | */ |
|
380 | public function html(bool $multiDecodeNewHtmlEntity = false): string |
|
381 | { |
|
382 | return ''; |
|
383 | } |
|
384 | } |
|
385 |