phpbar.de logo

Mailinglisten-Archive

[php] Objekte in Sessions weitergeben (php4)

[php] Objekte in Sessions weitergeben (php4)

Yannik Hampe yannik at cipher-code.de
Fre Jan 5 01:09:07 CET 2007



Daniel Haller wrote:
> Hallo,
> 
>> Mir ist nun nicht so ganz klar, wie ich auf die Eigenschaften der
>> user-Klasse wieder zugreifen kann, nachdem _dieselbe_ (ist immer
>> dieselbe Datei, die eben nur mit verschiedenen Parametern 
>> geladen wird)
>> Seite erneut geladen wird. Muss ich nicht vielleicht vorher irgendwie
>> checken, ob die Klasse schon irgendwie verfügbar ist, um sie nicht bei
>> einem Reload zu überschreiben?
> 
> Ich versuche es jetzt auf diese Art hinzubekommen, daß das User-Objekt
> nur einmal instanziiert wird, aber so recht will auch das nicht klappen
> - $user enthält einfach keine entsprechenden Daten... :-((
> 
> if(session_is_registered($user)) {
>     	// User-Objekt ist bereits in Session gespeichert, 
> 	// Objekt wieder der Seite zuweisen
     $user = unserialize($_SESSION['user']);
> } else {
>     	// User-Klasse wird einmalig instanziiert, 
> 	// danach wird das Objekt in einer Session gespeichert
>     $user               = new user();
     $_SESSION['user']   = serialize($user);
> }
> 
> Habe ich da irgendwo einen Denkfehler drin?

Ich persönlich verwende immer ein selbstgeschriebenes Sessionsystem und
bin jetzt nicht ganz auf Zack, was das php-interne sessionsystem so machen.
Vorallem ist mir nicht klar, was das php-Sessionsystem mit einem Objekt
machen.
Ich rate jedenfalls, dass es nicht das macht, was du erwartest: Das
Objekt automatisch serialisieren und wie deserialisieren.
Dahingehend habe ich mal die zwei nötigen Zeilen in deinem Quelltext
geändert.

> 
> Grüße,
> Daniel

Yannik

php::bar PHP Wiki   -   Listenarchive