DOMDocument::registerNodeClass
(PHP 5 >= 5.2.0)
DOMDocument::registerNodeClass — Register extended class used to create base node type
Description
bool DOMDocument::registerNodeClass
( string $baseclass
, string $extendedclass
)
This method is not part of the DOM standard.
Parameters
-
baseclass
-
The DOM class that you want to extend. You can find a list of these
classes in the chapter introduction.
Of course, you won't be able to register a class extending DOMDocument
but you can always start your document by instanciating your own
extending class.
-
extendedclass
-
Your extended class name. If NULL is provided, any previously
registered class extending baseclass
will
be removed.
Return Values
Returns TRUE on success or FALSE on failure.
Examples
Example #1 Adding a new method to DOMElement to ease our code
<?php
class myElement extends DOMElement {
function appendElement($name) {
return $this->appendChild(new myElement($name));
}
}
class myDocument extends DOMDocument {
function setRoot($name) {
return $this->appendChild(new myElement($name));
}
}
$doc = new myDocument();
$doc->registerNodeClass('DOMElement', 'myElement');
$root = $doc->setRoot('root');
$child = $root->appendElement('child');
$child->setAttribute('foo', 'bar');
echo $doc->saveXML();
?>
The above example will output:
<?xml version="1.0"?>
<root><child foo="bar"/></root>