DOMDocument->registerNodeClass()

(no version information, might be only in CVS)

DOMDocument->registerNodeClass() -- Enregistre la classe étendue utilisée pour créer un type de base de noeud

Description

class DOMDocument {

bool registerNodeClass ( string baseclass, string extendedclass )

}

Cette méthode vous permet d'enregistrer votre propre classe étendue DOM à utiliser ensuite dans l'extension DOM de PHP.

Cette méthode ne fait pas partie du standard DOM.

Liste de paramètres

baseclass

La classe DOM qui vous voulez étendre. Vous pouvez trouver une liste de ces classes dans l'introduction du chapitre.

Bien sûr, vous ne pouvez pas enregistrer une classe étendant DOMDocument mais vous pouvez toujours commencer votre document en instanciant votre propre classe étendue.

extendedclass

Le nom de votre classe étendue. Si la valeur NULL est fournie, toutes les classes enregistrées précédemment étendant baseclass seront supprimées.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Exemples

Exemple 1. Ajout d'un nouvelle méthode à DOMElement

<?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');

// À partir d'ici, l'ajout d'un élément à un autre se fait en un seul appel !
$root = $doc->setRoot('root');
$child = $root->appendElement('child');
$child->setAttribute('foo', 'bar');

echo
$doc->saveXML();

?>

L'exemple ci-dessus va afficher :

<?xml version="1.0"?>
<root><child foo="bar"/></root>