Thread zum xten mal apache::session::*: wie genau funktionierts?
(3 answers)
Opened by Lukas at 2004-05-23 01:08
Hi,
die Doku von Apache::Session erklaert die Verwendung von Apache::Session::File. Apache::Session::File ist eine von Apache::Session abgeleitete Klasse (erbt also alles von Apache::Session), die bindet die Komponenten von Apache::Session zusammen und gibt an wie die Daten verwaltet werden. Die Verwendung ist einfach, du bindest ein Hash an die entsprechende Klasse (hier Apache::Session::File) und verwendest den Hash so wie sonst auch. Code: (dl
)
1 tie %session, 'Apache::Session::File', $id, Die zwei Parameter ($id und der anonym. Hash) sind optional. Laesst du den ersten Parameter weg oder setzt ihn auf undef wird eine neue Session angelegt, gibst du stattdessen eine gueltige SessionID an wird Session mit der ID wiederhergestellt. Weitere Daten speicherst du wie bei jeden normalen Hash, Code: (dl
)
$session{foo} = 'bar'; ebenso liest du die Daten. Code: (dl
)
my $var = $session{foo}; Wenn du eine Session loeschen moechtest rufst du die Objektmethode des gebundenen Objekts auf, das geht zum Beispiel so: Code: (dl
)
tied(%session)->delete; tied liefert das an %session gebunde Objekt zurueckt und dann wird dessen delete-Methode aufgerufen. Quote Es liegt natuerlich auf'm Server. Quote Das Verzeichnis in dem die Sessiondateien gespeichert werden ist das was beim Binden an den Hash bei Directory angegeben wurde, bzw. wenn keins angegeben wurde /tmp/. Die Sessiondateien selbst tragen als Namen die Session-ID, so koenntest du also einfach mit Code: (dl
)
1 if( -e $session_verzeichnis . $id) { auf die Existenz pruefen. Quote Wann die Session geloescht wird liegt bei dir, loeschen kannst du sie mit den oben beschriebenen delete(). Sieh dir auf jeden Fall erstmal Apache::Session an :) Grusz Christian. ,,Das perlt aber heute wieder...'' -- Dittsche
|