phpbar.de logo

Mailinglisten-Archive

[php] Singleton-Methode in Parent-Klasse

[php] Singleton-Methode in Parent-Klasse

Andreas Heigl a.heigl at wdv.de
Mit Jun 8 13:19:31 CEST 2005


Hallo Liste

Ich hab jetzt einige Zeit rumprobiert und gegoogelt und in der
Funktionsreferenz zu PHP gewühlt ( nicht notwendigerweise in dieser
Reihenfolge...) und kome zu keinem befriedigenden Ergebnis.

Ich versuche eine statische Singleton-Methode in der Parent-Klasse zu
implementieren, damit ich nicht bei jeder neuen abgeleiteten Klasse eine
Singleton-Methode implementieren muss, die sich dann jeweils nur im
Klassennamen unterscheiden.

Überlegung war also sowas wie:

class Parent
{
    function singleton()
    {
        $classname = get_class(); // oder was auch immer
        return new $classname;
    }
}

class Foo extends Parent
{
    //
}

Aber wie kann ich den Namen der aufrufenden Klasse ermitteln?

get_class() liefert mir (logischerweise) nix zurück und mit __CLASS__ krieg
ich nur den Namen der Parent-Klasse raus, der mich in dem Fall nicht
interessiert.

Kennt jemand eine Möglichkeit trotzdem eine Singleton-Funktion in der
Parent-Klasse zu erstellen? (Die Vorschläge auf der PHP-Seite mit
'switch-case' zu arbeiten sind nicht tragbar, da das ganze jederzeit
problemlos erweiterbar sein muss!)
Ach und wenn es geht, ohne dass ich den Klassennamen als Argument übergeben
muss. <code>$foo = Foo :: singleton ( 'foo' );</code>  macht in meinen Augen
nicht wirklich Sinn.....

Danke für eure Hilfe

Grüße

Andreas
-- 

wdv Medien & Kommunikation GmbH & Co. OHG
Mediendatenverarbeitung
Andreas Heigl
Siemensstrasse 6
61352 Bad Homburg
Germany
Telefon +49-(0)6172-670-185
Telefax +49-(0)6172-670-181
www.wdv.de



php::bar PHP Wiki   -   Listenarchive