Feedback

Thank you. Your feedback has been sent.

España: Discusiones PHP Forum - Problem mit Objekten/serialize/unserialize, Foros de discusión, intercambios de ideas, charlas, opiniones

Foro > PHP Forum > Vista de artículos
Manfred Schmitz


Inscripción: 24.08.2004
Aportaciones: 504
Lugar de residencia:


Asunto: Problem mit Objekten/serialize/unserialize
Redactado el: 01.01.1970 01:33

Hi,

na dann will ich hier mal den Anfang machen.

Ich programmiere gerade eine Art Mini-CMS und habe mir
die Klasse "user" erstellt welche für die Verwaltung der
Benutzer zuständig ist.

Am Anfang des Scriptes prüfe ich, ob in der Session
ein serialisiertes User-Objekt ist:

if($_SESSION['user']) {
$user = unserialize($_SESSION['user']);
}

Falls nicht, erstelle ich eines:

else {
$user = new User();
}

Am Ende des Scriptes sichere ich das User-Objekt in
der Session:

$_SESSION['user'] = serialize($user);

Das klappt auch in den meisten fällen wunderbar.
Wenn ich mich aber durch das System klicke kommt es
teilweise dazu daß ich eine Fehlermeldung erhalte
wenn ich eine Methode des User-objektes anspreche.

Scheinbar klappt das serialize/unserialize in einigen
Fällen nicht. Zumindest ist manchmal in der Session
kein User-Objekt mehr gespeichert, und das obwohl
die serialize-Stelle *garantiert* nach jedem Script-
durchlauf ausgeführt wird.

Kann es sein, daß serialize/unserialize an sich einen
Fehler hat oder instabil ist?

Gruß
Voodoo


Responder
Perfil
Mensaje privado
Thomas Poppner


Inscripción: 27.08.2004
Aportaciones: 1
Lugar de residencia: Wiesbaden


Asunto: Re: Problem mit Objekten/serialize/unserialize
Redactado el: 01.01.1970 01:33

Hi voodoo,

du kannst dir den Stress mit dem serialisieren sparen. Speichere das Objekt ganz einfach in $_SESSION und binde die Klasse auf Folgeseiten ein, bevor du die Session wieder startest.

29.13. Wie speichere ich Objekte in Sessions?
http://www.dclp-faq.de/q/q-sessions-objekte.html

Viele Grüße
Thomas
Responder
Mensaje privado
Manfred Schmitz


Inscripción: 24.08.2004
Aportaciones: 504
Lugar de residencia:


Asunto: Re: Re: Problem mit Objekten/serialize/unserialize
Redactado el: 01.01.1970 01:33

Das werd ich mal ausprobieren, aber warum empfehlen dann
alle, Objekte vor dem Speichern zu serialisieren?
Hat das ansonsten irgendwelche Vorteile, oder hat es
irgendwelche Nachteile, es nicht zu tun?

Gruß,
Voodoo

Responder
Perfil
Mensaje privado
Nico Flemming
Perfil de Nico Flemming


Miembro Premium
Inscripción: 05.02.2005
Aportaciones: 1160
Lugar de residencia: Hamburg

www.webconia.de

Asunto: Re: Problem mit Objekten/serialize/unserialize
Redactado el: 21.05.2005 10:44

Hi Manfred,

Kommt drauf an, wenn Objekte bestimmte "Stati" haben die beibehalten werden
sollen, oder die Objekte entsprechend komplex sind, d.h. wenn viele Instruktionen
nötig sind um die Objekte in den Status zu bringen in dem sie sich grade befinden
dann macht es schon Sinn, sie zu serialisieren. Man spart sich die Rechenzeit
um den Status des Objektes wieder komplett neu zu berechnen.
Oder auch wenn der Status in Korrelation zu bestimmten Datenbankinhalten
steht, und der Status nicht neu hergestellt werden kann ohne die Datenbasis
zu ändern diese aber bereits geändert wurde.

Wenn es hingegen einfache Objekte sind mit z.B. nur einer Eigenschaft
wie "$variable=1" dann kannst Du die Objekte beim nächsten Durchlauf
auch ganz einfach wieder neu ableiten und $variable auf 1 setzen.

Gruß,
Nico

Responder
Perfil
Mensaje privado


1

Threads parecidos: