Sven Rautenberg: SQL-Klasse in Session speichern

Beitrag lesen

Moin!

Eine SQL-Klasse in der Session zu speichern.. ist das
vollkommener Schwachsinn oder Gang und Gebe?

Schwachsinn. :)

Oder gibt es Alternativen hinsichtlich Globalisierung der
SQL-Klasse, so dass ich sie nicht in jeder anderen Klasse
erneut instanziieren, oder sie ständig übergeben muss?

Bei der PHP-Programmierung ist die Tatsache, dass die Skripte ständig gestartet und wieder beendet werden, ohne dass einmal angelegte Variablen und Objekte erhalten bleiben, in der Tat ein etwas störender Vorgang, der einige systematische Ansätze wie eben OOP auf den ersten Blick recht sinnlos erscheinen läßt.

Aber der Sinn von OOP liegt viel eher in seiner ordnenden Strukturierung des Programmcodes, weniger in der Tatsache, dass man Objekte nur einmal anlegt und dann ewig weiterbenutzt.

Denn selbst wenn du ein Objekt in eine Session speicherst, würden dort ausschließlich die aktuellen Objektvariablen landen, aber keine weiteren Zustände. Ein Skript, welches diese Variablen wieder nutzbar machen will, muß zuerst die Klassendefinition einlesen (die also so oder so geparst werden muß), erst danach darf die Session gestartet werden. Und hergestellte Datenbankverbindungen müssen trotzdem neu aufgemacht werden (PHP bietet dafür allerdings die Möglichkeit, in der Klasse Methoden zu definieren, die beim Verlassen und Neueinlesen einer Instanz z.B. in einer Session ausgeführt werden).

Ob es tatsächlich sinnvoll ist, eine DB-Klasse in die Session zu packen, hüngt vermutlich von dem Gesamtbild ab, das sich bei deiner Aufgabenstellung und dem gewählten Lösungsansatz bietet. Es wäre aber in der Tat sehr ungewöhnlich.

- Sven Rautenberg

--
My sssignature, my preciousssss!