Mailinglisten-Archive |
>
>--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