Instanz einer Klasse in SessionVariable speichern
thomas123
- php
eigentlich will ich nur wissen ob meine vorgehensweise zu empfehlen ist. Welche Probleme/ Nachteile seht ihr bei dieser Vorgehensweise.
Meine Vorgehensweise.
Ich habe eine Klasse "User" erstellt. Diese Klasse hat einige Attribute und Methoden. Beispiel "Username", "User_ID", "login()", "createUser()", usw.
Ich erzeuge eine Instanz dieser Klasse und schreibe diese in eine Session Variable. "$_SESSION['user'] = new User;". Jetzt stehen mir auf jeder Seite die Informationen der Klasse zu Verfügung.
Selbst sehe ich dort keine Nachteile (Momentan), aber wie seht ihr das?
hi,
Ich erzeuge eine Instanz dieser Klasse und schreibe diese in eine Session Variable. "$_SESSION['user'] = new User;". Jetzt stehen mir auf jeder Seite die Informationen der Klasse zu Verfügung.
Selbst sehe ich dort keine Nachteile (Momentan), aber wie seht ihr das?
Welche Nachteile sollte es geben? Ich sehe eigentlich keine.
Beim Schreiben der Session-Daten wird dein Objekt "serialisiert" - das betrifft aber nur seine Eigenschaften, nicht seine Methoden. Die Datenmenge, die abgespeichert wird, dürfte sich also nicht wesentlich von der eines Arrays unterscheiden, welches einen ähnlichen Werteumfang enthält.
Du musst lediglich darauf achten, die Definition deiner Klasse im Scriptverlauf immer vor dem wieder aufnehmen der Session stehen zu haben - ansonsten kann das Objekt mit seinen Methoden nicht wieder hergestellt werden.
gruß,
wahsaga
Selbst sehe ich dort keine Nachteile (Momentan), aber wie seht ihr das?
Genauso, mache ich schon seit Jahren und hatte nie Probleme
Mfg cham