DOMDocument->registerNodeClass()
(no version information, might be only in CVS)
DOMDocument->registerNodeClass() -- Register extended class used to create base node type
Description
class
DOMDocument {
bool
registerNodeClass ( string baseclass, string extendedclass )
}
This method allows you to register your own extended DOM class to be used
afterward by the PHP DOM extension.
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');
// From now on, adding an element to another costs only one method call ! $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> |
|