3v4l.org

run code in 300+ PHP versions simultaneously
<?php class MyNode extends DOMNode { public function describe() { echo "I am a " . $this->tagName . " node!"; } } class MyElement extends DOMElement {} class MyDocument extends DOMDocument {} $dom = new MyDocument(); $dom->registerNodeClass("DOMNode", "MyNode"); $dom->registerNodeClass("DOMElement", "MyElement"); $dom->loadHTML("<!doctype html><h1>Hello, World!</h1>"); var_dump(get_class($dom->documentElement)); var_dump($dom->documentElement->childNodes->item(0));
Output for git.master, git.master_jit, rfc.property-hooks
string(9) "MyElement" object(MyElement)#4 (23) { ["schemaTypeInfo"]=> NULL ["tagName"]=> string(4) "body" ["firstElementChild"]=> string(22) "(object value omitted)" ["lastElementChild"]=> string(22) "(object value omitted)" ["childElementCount"]=> int(1) ["previousElementSibling"]=> NULL ["nextElementSibling"]=> NULL ["nodeName"]=> string(4) "body" ["nodeValue"]=> string(13) "Hello, World!" ["nodeType"]=> int(1) ["parentNode"]=> string(22) "(object value omitted)" ["childNodes"]=> string(22) "(object value omitted)" ["firstChild"]=> string(22) "(object value omitted)" ["lastChild"]=> string(22) "(object value omitted)" ["previousSibling"]=> NULL ["nextSibling"]=> NULL ["attributes"]=> string(22) "(object value omitted)" ["ownerDocument"]=> string(22) "(object value omitted)" ["namespaceURI"]=> NULL ["prefix"]=> string(0) "" ["localName"]=> string(4) "body" ["baseURI"]=> NULL ["textContent"]=> string(13) "Hello, World!" }

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
52.64 ms | 403 KiB | 8 Q