- var_dump: documentation ( source)
<?php
class MyNode extends DOMNode {
public function describe() {
echo "I am a " . $this->tagName . " node!";
}
}
class MyElement extends DOMElement {}
class MyDocument extends DOMDocument {}
class MyNodeList extends DOMNodeList {} // this class is unused.
$dom = new MyDocument();
$dom->registerNodeClass("DOMNode", "MyNode");
$dom->registerNodeClass("DOMElement", "MyElement");
// Can't do this, because DOMNodeList doesn't inherit from DOMNode.
// $dom->registerNodeClass("DOMNodeList", "MyNodeList");
$dom->loadHTML("<!doctype html><h1>Hello, World!</h1>");
// The items within the DOMNodeList are MyElement objects...
var_dump($dom->documentElement->childNodes->item(0));
// ...but why can't I use a MyNodeList here?
var_dump($dom->documentElement->childNodes);