Manual do PHP
Anterior |  | Próxima

# DOMDocument->registerNodeClass()

(no version information, might be only in CVS)

DOMDocument->registerNodeClass() -- Register extended class used to create base node type

## Descrição

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.

## Parâmetros

`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.

## Valores de retornado

Retorna `TRUE` em caso de sucesso ou `FALSE` em falhas.

## Histórico

Versão | Descrição
--- | ---
PHP 5.2.2 | Prior to 5.2.2, a prviously registered `extendedclass` had to be unregistered before being able to register a new class extending the same `baseclass`.

## Exemplos

Exemplo 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(); ?>`
O exemplo acima irá imprimir:
    <?xml version="1.0"?>
    <root><child foo="bar"/></root>

Anterior | Principal | Próxima
DOMDocument->normalizeDocument() | Acima | DOMDocument->relaxNGValidate()