Matti Maekitalo: PHP5 OOP Plugin

Beitrag lesen

Tach auch.

Somit habe ich aus allen meinen Unterklassen die Verbung "extends" entfernt und kann bei Bedarf auf alle Funktionen der Superklasse innerhalb der Unterklasse ($this->super->...) zugreifen.

Ich verstehe deinen Ansatz nicht, bzw. du lieferst zuwenig Informationen über dein Problem.

Zunächst einmal: die Vaterklasse von einer Kindklasse so abhängig zu machen, halte ich für merkwürdig. Wenn die Vaterklasse ohne Kindklasse nicht funktioniert, ist es entweder eine Klasse oder die Vaterklasse ist abstrakt.

Der Ansatz, der mir bei sowas einfiele, wäre folgender:
Die Vaterklasse wird abstrakt. Alle Methoden, die direkt von den Kindklassen abhängig sind (aus deinem jetzigen Modell) werden abstrakt und werden dann in den Kindklassen implementiert. Etwaiger gemeinsamer Code kann durch protected-Methoden in der Vaterklasse  bereitgestellt werden.
Instantiiert werden also nur Kindklassen.
Das Factory-Pattern kannst du nun einsetzen, um aus einer statischen Methode der Vaterklasse abhängig von Parametern das richtige Kindobjekt zu erzeugen und zurückzugeben.

Bis die Tage,
Matti