SimpleXMLElement erweitern

taris_gedar

Grünschnabel
Hallo!

Ich versuche die SimpleXMLElement-Klasse zu erweitern und laufe in das Problem, dass diese Klasse ja nun einen Parameter erwartet.
Jetzt möcht ich aber, dass die Kindklasse beim Aufruf den Parameter übergibt, ohne selbst einen bekommen zu müssen:

PHP:
class xmlChild extends SimpleXMLElement {

    // Konstruktor
    public function __construct($xml = '<rss version="2.0"></rss>') {
        parent::__construct($xml);
    }
}

Beim Aufruf mit
PHP:
$child = new xmlChild();
bekomm ich aber den folgenden Fehler:
Fatal error: Cannot override final method SimpleXMLElement::__construct() in file.class.php on line 12

V.a. versteh ich nicht, warum ich hier "versuch" den Konstruktor der Elternklasse zu überschreiben. In jeder Dokumentation heißt es, dass Konstruktoren nicht vererbt werden.
Ich möchte den Konstruktor ja auch nicht überschreiben, sondern einfach nur beim Aufruf der Kindklasse, der Elternklasse den fehlenden Parameter übergeben.

Gibt es da noch andere Wege oder überseh ich da etwas?

Vielen Dank!
 
Klassen mit finalem Konstruktor können nicht beerbt werden. Gleiches gilt für das Überschreiben finaler Methoden der Oberklasse.
 
Beerben könnte ich sie nur ich kann nichts überschreiben, was ja genau das ist, was ich möcht :)
Meine Kindklasse soll der Elternklasse nur eben den fehlenden Parameter übergeben.

Hier (http://phpugffm.de/index.php/very-simplexml,2008-03,283.html) wird erklärt wie man sie vererbt, aber ich möchte sie per new aufrufen und ohne übergabe von einem Parameter.

Aber wenn das "final" in der SimpleXMLElement drin ist (was mir irgendwie schleierhaft ist warum), muss ich wohl das vererben lassen und drum herum bauen, was aber recht unschön ist..
 
Zurück