Sympathizer: Ermitteln, wer den Konstruktor aufgerufen hat

Beitrag lesen

Hallo,

ich glaube wir scheinen einander vorbei zu reden ;)

Wenn ich mehrere ähnliche Dinge haben kann, warum darf ich dann keine
gleichen Dinge haben?

Es geht mir um eine Datenbank-Klasse, von der - selbst in mehreren Threads -
nur genau eine Instanz existieren darf. Dafuer gibt es viele Gruende;
partikulare Steuerung des Connection-Pools, Zustandsbehaftung des
Datenbank-Layers oder Caching von Resultsets.. um nur einige zu nennen.

In dem Konstruktor dieser DB-Klasse moechte ich nun sicherstellen,
dass eben jene Klasse ueber die Factory-Methode initialisiert wurde -
und nicht von einer beliebig anderen Klasse, Datei oder Funktion.
Im Allgemeinen verhindert man den Aufruf von Methoden, indem man sie als
nicht öffentlich kennzeichnet. Mit so einer Kennzeichnung kümmmert sich
PHP darum.

Ich bin mit OOP bestens vertraut. Es geht mir wie gesagt um eine _Factory_-
Klasse, ueber die - und _nur_ ueber die - die Klasse der Datenbankschicht
initialisiert werden darf. Setze ich sie auf protected dann kann selbst die
Factory-Klasse keine Instanz erstellen - ausser sie leitet sich von eben
jener Klasse ab.. aber das wuerde im Falle einer Factory natuerlich keinen
Sinn ergeben.

Dennoch Danke fuer deine Antwort.

Mit freundlichen Gruessen,
Sympathizer

--
"Was ist ist, was nicht ist ist moeglich"