Ich werde aus den Kommentaren zu get_class() auf php.net nicht klar. Das Problem wird bestätigt, aber keine Lösung gezeigt.
Ich habe eine allgemeine Plugin-Klasse.
Von dieser werden Plugin-Klassen abgeleitet.
Diese Plugin-Klassen werden statisch aufgerufen, um sich in ein allgemeines Register zu hängen. Also so:
die Konstante __CLASS__ gibt mir immer nur die Urklasse zurück.
Auf get_class() kann ich nicht zurückgreifen, weil ich mich hier ja nicht im Objektkontext befinde.
Weiß jemand, wie man an den Klassennamen der abgeleiteten Klasse rankommt?
Muß wie gesagt noch PHP4-Kompatibel sein.
Ich habe eine allgemeine Plugin-Klasse.
Von dieser werden Plugin-Klassen abgeleitet.
Diese Plugin-Klassen werden statisch aufgerufen, um sich in ein allgemeines Register zu hängen. Also so:
PHP-Code:
// die allgemeine Klasse
class allgemeinePluginKlasse
{
var $pfad = null;
var $name = null;
function init()
...
}
// ein abgeleitetes Plugin
class meinPlugin extends allgemeinePluginKlasse
{
// Diese Methode soll statisch aufgerufen werden:
function init()
{
echo "Hallo. Ich bin das Plugin namens ".__CLASS__."!";
}
}
// statischer Aufruf
meinPlugin::init();
// Ergebnis unter PHP 4
Hallo. Ich bin das Plugin namens allgemeinePluginKlasse!
Auf get_class() kann ich nicht zurückgreifen, weil ich mich hier ja nicht im Objektkontext befinde.
Weiß jemand, wie man an den Klassennamen der abgeleiteten Klasse rankommt?
Muß wie gesagt noch PHP4-Kompatibel sein.
Kommentar