PHP – Zugriff auf den Namen einer Child-Klasse

Wer innerhalb einer Klasse (z.B. einer generischen Singleton-Klasse [Generic_Singleton] im Destructor (__destruct()) auf den Namen der Child-Klasse (die erbende Klasse) zugreifen muss/möchte, der wird feststellen, dass __CLASS__ an dieser Stelle (so wie es auch sein sollte) den Namen der Klasse die die Methode enthält (in diesem Beispiel die generische Singleton-Klasse) beinhaltet (Generic_Singleton). Möchte man aber den Namen der Klasse die von Generic_Singleton erbt erhalten, hilft folgender Aufruf:

1
2
3
foo() {
return get_class($this);
}

Somit erhält man bei Aufruf von foo(); den Namen der Child-Klasse.

Ich weiß nicht inwieweit dies ein „Bug“ in PHP ist, der ggf. mit PHP 5.3 oder 6 beseitigt wird. Aber momentan getestet unter 5.2.9 funktioniert dies einwandfrei.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

*