3v4l.org

run code in 300+ PHP versions simultaneously
<?php $xml = <<<END <?xml version="1.0" encoding="UTF-8"?> <root> <child /> </root> END; $doc = Dom\XMLDocument::createFromString($xml); $root = $doc->firstChild; $text = $root->firstChild; $child = $root->firstElementChild; var_dump('nodeValue'); try { var_dump($text->nodeName); var_dump(get_class($text)); $text->nodeValue = 'Hello'; } catch (Throwable $t) { var_dump($t->getMessage()); } try { var_dump($child->nodeName); var_dump(get_class($child)); $child->nodeValue = 'Hello'; } catch (Throwable $t) { var_dump($t->getMessage()); } try { var_dump($doc->nodeName); var_dump(get_class($doc)); $doc->nodeValue = 'Hello'; } catch (Throwable $t) { var_dump($t->getMessage()); } var_dump('textContent'); try { var_dump($text->nodeName); var_dump(get_class($text)); $text->textContent = 'Hello'; } catch (Throwable $t) { var_dump($t->getMessage()); } try { var_dump($child->nodeName); var_dump(get_class($child)); $child->textContent = 'Hello'; } catch (Throwable $t) { var_dump($t->getMessage()); } try { var_dump($doc->nodeName); var_dump(get_class($doc)); $doc->textContent = 'Hello'; } catch (Throwable $t) { var_dump($t->getMessage()); }
Output for 8.4.1 - 8.4.14
string(9) "nodeValue" string(5) "#text" string(8) "Dom\Text" string(5) "child" string(11) "Dom\Element" string(55) "Cannot modify readonly property Dom\Element::$nodeValue" string(9) "#document" string(15) "Dom\XMLDocument" string(59) "Cannot modify readonly property Dom\XMLDocument::$nodeValue" string(11) "textContent" string(5) "#text" string(8) "Dom\Text" string(5) "child" string(11) "Dom\Element" string(9) "#document" string(15) "Dom\XMLDocument" string(61) "Cannot modify readonly property Dom\XMLDocument::$textContent"
Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26
Fatal error: Uncaught Error: Class "Dom\XMLDocument" not found in /in/4fQ63:9 Stack trace: #0 {main} thrown in /in/4fQ63 on line 9
Process exited with code 255.

preferences:
55.39 ms | 408 KiB | 5 Q