Persistente Daten (Sessions) |
(Embperl 1.2 oder neuer) Während versteckte Felder gut innerhalb Formularen einsetzbar sind, ist es
oft notwendig Daten persistent auf eine allgemeinere Art und Weise zu
speichern. Embperl benutzt Apache::Session um dies durchzuführen.
Apache::Session ermöglicht die Daten im Speicher, in einem Textfile
oder in einer Datenbank abzuspeichern. Weitere Speichermöglichkeiten sind
für die Zukunft zu erwarten. Man kann zwar einfach Apache::Session aus
Embperl Seiten herausaufrufen, aber Embperl ist in der Lage dies für den
Benutzer transparent durchzuführen. Es genügt einfach seine Daten in dem
Hash %udat abzuspeichern, sobald der selbe Benutzer wieder eine Embperl
Seite aufruft, stehen in %udat wieder die selben Daten. Dies ermöglicht auf
eine einfache Art und Weise Zustandsinformationen für einen Benutzer zu speichern.
In Abhängigkeit vom Ablaufzeitpunkt können so Benutzerspezifische Daten
auch über einen längeren Zeitraum hinweg gespeichert werden. Ein zweiter Hash, %mdat,
dient dazu, Daten, die zu einer bestimmten Seite gehören, zu speichern. Ein einfaches
Beispiel ist z.B. ein Zähler der Anzahl der Seitenaufrufe: Die Seite wurde seit dem [+ $mdat{date} ||= localtime +]
[+ $mdat{counter}++ +] mal abgerufen Das obige Beispiel zählt die Anzahl der Abrufe und zeigt die Zeit, wann die
Seite zum ersten Mal aufgerufen wurde.
Embperl sorgt dafür, dass die Daten nur dann wieder abgespeichert
werden, wenn sie auch geändert wurden.
|