phpbar.de logo

Mailinglisten-Archive

[php] Objekt in Session ohne Inhalt

[php] Objekt in Session ohne Inhalt

mhe mhe at ltcgroup.de
Mit Okt 29 19:57:52 CET 2003


>
>--Start.php
>Include("session.inc");
>...
>...
>
>
>--session.inc
>Include("objekt.class");
>	$foo = new object();
>...
>
>Session_start();
>...
>...
>if (!session_is_registered("object")) {	
>	session_register("object");	
>	}
>...

hi,

das hat etwas damit zu tun, wie php objekte in sessions speichert,
dazu gibt es zwei methoden, die du in deinem objekt definieren
solltest, welche sowohl beim beenden des aufrufes des skripts als auch beim
starten des aufrufes des skripts beim wiederherstellen deines objektes
aufgerufen werden soll, a bissle tricky

die zwei methoden heissen __sleep() und __wakeup()


function __sleep()

wird aufgerufen, wen dein objekt vom session handler serialisiert wird,

als return ist es ein array mit den namen deiner eigenschaften deines
objektes, welche mitgespeichert werden sollen in der session,
wen nichts zurueckgegeben wird, wird auch nichts serialisiert,

nutze es auch, um eventuelle offene files oder connections zu closen,


function __wakeup()

diese methode des objekts wird aufgerufen, wen das objekt wieder
aus der session geladen wird, alle eigensvhaften werden wieder
hergestellt automatisch und in der __wakup methode kannst du
eventuelle db verbindungen wieder oeffnen oder etwas tun like der constructor
das tun wuerde .. standardwerte setzen, whatever ..

mehr infos hier
http://de3.php.net/manual/de/language.oop.magic-functions.php

ciao
 Mathias



php::bar PHP Wiki   -   Listenarchive