1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Erweiterung der DOMDocument-Klasse

Dieses Thema im Forum "PHP" wurde erstellt von LokiTheDude, 8. Mai 2007.

  1. LokiTheDude

    LokiTheDude Grünschnabel

    Hallo,

    ich möchte mir eine Erweiterung der DOMDocument-Klasse basteln.
    Dies klappt über
    PHP:
    1.  
    2.     class DomExt extends DOMDocument {
    3.    
    4.         public function __construct () {
    5.             parent::__construct('1.0', 'utf-8');
    6.             $parent -> formatOutput =   TRUE;
    7.             }
    8.  
    9.         }
    10.  
    auch ganz gut. Die Knoten in dom sind eine eigene Klasse.
    auch diese ist erweiterbar. bsp:
    PHP:
    1.  
    2.     class DomElementExt extends DomElement {
    3.  
    4.         public function __construct ($tagName) {
    5.             parent::__construct($tagName);
    6.             }
    7.  
    8.         }
    9.  
    Wenn ich einen neuen knoten erstelle, brauch ich dafür eine erweiterte funktion in der DomExt-Klasse
    diese sieht bei mir so aus
    PHP:
    1.  
    2.         public function createElement($tagName) {
    3.             return new DomElementExt ($tagName);
    4.             }
    5.  
    danach kann ich auch auf die hinzugefügten functionen zugreifen
    wenn ich aber zum bsp. über die function 'load' ein xml-file einlese, erstellt er mir wieder die standard-dom-knoten ohne meine funktionen
    soll heissen, ick müsste nochmal ne load-funktion basteln, die das file selber ausliest und die knoten in DomElementExt ändert

    nun meine frage - gibt es nicht einen leichteren weg?
    kann ich nicht einfach einer klasse neue methoden hinzufügen?

    cya
  2. shockshell

    shockshell Erfahrenes Mitglied

    Kannst Du nach einem Load die Klasse nicht einfach casten?

    $c = (DomExt)$c;

    ?

    Ansonsten musst du mal Dein Skript zeigen welches die Klassen instanziert und lädt.

    Marcus.

Diese Seite empfehlen