Mailinglisten-Archive |
Hallo Leute, wie mittlerweile bekannt sein dürfte, bietet PHP4 erstmalig ein eigenes Modul für Session-Management. Hier eine kurze Übersicht über die Session-Funktionen (bis die Doku soweit ist): session_start - startet eine Session session_destroy - beendet eine Session und zerstört zu ihr gehörende Daten session_name - gibt den Namen der aktuellen Session zurück oder (wenn mit Parameter aufgerufen) startet eine neue Session unter dem übergebenen Namen session_id - gibt die aktuelle Session ID zurück oder (wenn mit Parameter aufgerufen) öffnet die Session mit eer übergebenen ID session_is_registed - überprüft, ob eine Variable bei der aktuellen Session registriert ist session_register - registriert eine Variable für die aktuelle Session session_unregister - löscht eine Variable von der aktuellen Session session_encode - gibt eine serialisierte Version der aktuellen Session zurück session_decode - dekodiert eine serialisierte Session und initialisiert die entsprechenden Variablen Funktionen, die bei mir nicht funktionieren oder (noch) keinen Sinn machen, habe ich weggelassen. Ein Mini-Beispiel: <? session_start(); echo $foo; $foo = "cool"; session_register("foo"); ?> Im Backend des Session-Codes sind einzelne Module verantwortlich für das Speichern und Laden der Session-Daten; bislang ist nur ein Modul realisiert, das die Session auf das lokale Dateisystem speichert, doch es dürfte nicht lange dauern, bis es MySQL-etc-Module gibt. Außerdem lässt der Source vermuten, daß Sascha Callbacks nach Userland implementieren will - damit könnte man dann eigene Funktionen in PHP zum Speichern&Laden von Session-Daten schreiben (Sessions nach XML speichern... *träum*). IMHO ist das integrierte Session-Management eine geniale Sache - endlich ein in PHP integrierter Standard. Ein Nachteil: Es ist zwar möglich, komplett auf Cookies zu verzichten wenn der Benutzer sie deaktiviert hat, aber PHP4 versucht trotzdem bei jedem Request ein Cookie zu setzen. Im Code gibt's eine Variable send_cookie=1, aber soweit ich gesehen habe, ist die nicht zur Laufzeit änderbar. Es wäre schön, wenn man bei session_start() angeben könnte, ob Cookie gesendet werden sollen oder nicht. Mit freundlichen Grüßen, Tobias "v4" Ratschiller
php::bar PHP Wiki - Listenarchive