Hi,
hab mal ne kleine Frage, und zwar habe ich Klassen, die ich mit Singleton instanzier. Dazu schreibe ich jedes Mal in den Klassenkopf die Singleton vars+methoden.
Jetzt habe ich probiert, die Singleton-Implementation in die Elternklasse auszulagern:
In der abstrakten Klasse steht dann irgendwie sowas in der Art
Da ich zum instanzieren der eigentl. Klasse aber den Namen brauche, muss der ja in der konkreten Kind Klasse stehen.
Dachte das iss ja einfach und hab wollt die var $className überschreiben, was aber nicht geht.
Statische Vars lassen sich nämlich nicht überschreiben...
Was ich jetzt suche ist ne Möglichkeit, dass wenn in der Parent-Klasse getInstance() aufgerufen wird, dass ich auf ne Var von der Kind-Klasse zugreifen kann.
Für die Elternklasse gibts ja parent:: aber ein derivat für die Kindklasse dazu habe ich leider nicht gefunden.
Würde mich freuen wenn jmd einen Tipp hätte, hab echt keine Lust überalle den Singleton-Schmudder immer in den Klassen zu haben
gruß melchior
hab mal ne kleine Frage, und zwar habe ich Klassen, die ich mit Singleton instanzier. Dazu schreibe ich jedes Mal in den Klassenkopf die Singleton vars+methoden.
Jetzt habe ich probiert, die Singleton-Implementation in die Elternklasse auszulagern:
In der abstrakten Klasse steht dann irgendwie sowas in der Art
PHP-Code:
// Singleton
// $className var defines the current classname for the singleton pattern
// and needs to be overridden in the concrete one
#protected static $className;
static $instance;
static function getInstance ()
{
if (!isset($instance)) self::$instance = new child::$className;
return self::$instance;
}
// Singleton END
Dachte das iss ja einfach und hab wollt die var $className überschreiben, was aber nicht geht.
Statische Vars lassen sich nämlich nicht überschreiben...
Was ich jetzt suche ist ne Möglichkeit, dass wenn in der Parent-Klasse getInstance() aufgerufen wird, dass ich auf ne Var von der Kind-Klasse zugreifen kann.
Für die Elternklasse gibts ja parent:: aber ein derivat für die Kindklasse dazu habe ich leider nicht gefunden.
Würde mich freuen wenn jmd einen Tipp hätte, hab echt keine Lust überalle den Singleton-Schmudder immer in den Klassen zu haben
gruß melchior
Kommentar