PHP – Zugriff auf den Namen einer Child-Klasse

Geschrieben von PHPFlüsterer am 14. Februar 2010.

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.

 

Danke

Sag "Danke" in dem du diesen Artikel flatterst und mich so bei meiner zukünftigen Arbeit unterstützt. Ich danke dir!
 

Teilen

Teile diesen Artikel und somit dein Wissen mit deinen Freunden, Kollegen und anderen ...
 

Kommentare

Zu "PHP – Zugriff auf den Namen einer Child-Klasse" wurde noch kein Kommentar abgegeben. Mache doch den ersten Schritt und hinterlasse Lob, Kritik, Feedback oder auch nur einen Kommentar ....
 

Verfasse einen Kommentar


Fülle dazu einfach die als "Pflichtfeld" gekennzeichneten Felder aus, schreibe deinen Kommentar und sende alles zusammen ab. Nach Freischaltung durch mich, wird dein Kommentar für alle sichtbar.

Kleiner Tip: Die Pflichtfelder erkennt man auch an einem orange-farbenen Stern!
Pflichtfeld
Pflichtfeld    (wird NICHT veröffentlicht)
Pflichtfeld
Ich möchte eine E-Mail-Benachrichtigung bei Antworten und neuen Kommentaren erhalten.
Möchtest du lediglich bei neuen Kommentaren benachrichtigt werden ohne einen Kommentar zu verfassen? Dann klicke hier.  Um deine Benachrichtigungen zu verwalten hier.
*

 

Trackbacks

Es gibt keine Trackbacks zu diesem Artikel.

 

Verwandte Artikel


Scheinbar hast du einen Werbeblocker aktiviert. Die Werbung ist neben Flattr allerdings die einzige Möglichkeit die Betriebskosten (z. B. Hosting, Domain ...) aufzufangen. Es wäre nett wenn du den Blocker auf meinen Seiten deaktivierst.