Olaf Schneider: Klassenname von abgeleiteter Klasse in statischer Methode

Beitrag lesen

Hallo eddi, hallo Sven, hallo dedlfix,

vielen Dank für Eure Antworten.

Wie es aussieht, werde ich doch jeder abgeleiteten Klasse Bar1 etc. eine eigene statische getClassname()-Methode verpassen. Ich hatte gehofft, dieses zu vermeiden, da diese Methoden ja alle identisch sind. (Stichwort DRY-Prinzip „Don’t repeat yourself“).

In der realen Umsetzung (das verkürzte Beispiel war ja nur zur Demonstration des Problems) wird also jede Unterklasse eine Methode Bar1::getInstance() haben, die der  Methode Foo::getInstance() als Parameter den Klassennamen mitliefert. Diese bildet dann gegebenenfalls ein neues Objekt mit return new $objectName;.

Ich hatte gehofft, dass das eleganter geht.

Viele Grüße
Olaf Schneider