Guten Abend allerseits,
Ich habe eine SQL-Klasse als Singleton realisiert.
static private $instance = NULL;
private function __construct() { [..] }
static public function GetInstance()
{
if (self::$instance == NULL)
{
self::$instance = new SQLHandler();
}
return self::$instance;
}
Die Instanz bekomme ich dann ueber folgende Syntax:
SQLHandler::GetInstance();
Die SQL-Klasse besitzt einige Membervariablen, ueber die man das Verhalten mancher Methoden manipulieren kann.
Diese kann man zB wie folgt setzen:
SQLHandler::GetInstance()->UseCach = true;
Da ich eingentlich aus dem Java-Umfeld komme, und gewohnt bin mit einem Application-Server zu arbeiten, kommen
mir an dieser Stelle so ein paar Fragen auf, _wie_ ein Singleton unter PHP eigentlich umgesetzt wird bzw. ueberhaupt
umgesetzt werden kann.
Denn nach meinem Verstaendnis muss die Instanz ja - aus Gruenden des Designs der Sprache PHP - bei jedem Request
neu erstellt werden.
a) Somit kann doch eigentlich gar keine wirklicher Singleton realisiert werden?
b) Wie sieht es mit mehreren Benutzern aus? Teilen die sich tatsaechlich ein und dieselbe Instanz? Oder geschieht
das nur bei einem nahezu simultanen Zugriff?
Waere erfreut, wenn mir einer mal ein wenig Licht ins Dunkle bringen kann.
Besten Dank
Gruesse,
Thes
,
denn es existiert ja kein Container, in dem das Objekt