# Zend_Application_Resource_Session

`Zend_Application_Resource_Session` erlaubt es `Zend_Session` zu konfigurieren, sowie optional einen Session SaveHandler zu initialisieren.

Um einen Session Save Handler zu setzen, muß einfach der Optionsschlüssel saveHandler (Groß- und Kleinschreibung beachten) an die Ressource übergeben werden. Der Wert dieser Option kann einer der folgenden sein:

- String: Ein String der eine Klasse benennt die `Zend_Session_SaveHandler_Interface` implementiert und initiiert werden soll.

- Array: Ein Array mit den Schlüsseln "class", und optional "options", das eine Klasse benennt die `Zend_Session_SaveHandler_Interface` implementiert und iniiert werden, und ein Array von Optionen die an dessen Contructor übergeben werden soll.

- `Zend_Session_SaveHandler_Interface`: Ein Objekt welches dieses Interface implementiert.

Jeder andere übergebene Optionsschlüssel wird an `Zend_Session::setOptions()` übergeben um `Zend_Session` zu konfigurieren.

## Beispiel der Konfiguration einer Session Ressource

Anbei ist das Beispiel eines INI Abschnitts der zeigt wie die Session Ressource konfiguriert werden kann. Er setzt verschiedene `Zend_Session` Optionen, und konfiguriert eine `Zend_Session_SaveHandler_DbTable` Instanz.

    resources.session.save_path = APPLICATION_PATH "/../data/session"
    resources.session.use_only_cookies = true
    resources.session.remember_me_seconds = 864000
    resources.session.saveHandler.class = "Zend_Session_SaveHandler_DbTable"
    resources.session.saveHandler.options.name = "session"
    resources.session.saveHandler.options.primary.session_id = "session_id"
    resources.session.saveHandler.options.primary.save_path = "save_path"
    resources.session.saveHandler.options.primary.name = "name"
    resources.session.saveHandler.options.primaryAssignment.sessionId = "sessionId"
    resources.session.saveHandler.options.primaryAssignment.sessionSavePath = "sessionSavePath"
    resources.session.saveHandler.options.primaryAssignment.sessionName = "sessionName"
    resources.session.saveHandler.options.modifiedColumn = "modified"
    resources.session.saveHandler.options.dataColumn = "session_data"
    resources.session.saveHandler.options.lifetimeColumn = "lifetime"

## Die Datenbank zuerst bootstrappen!

Wenn man den `Zend_Session_SaveHandler_DbTable` Session Save Handler konfiguriert, muß man für diesen zuerst die Datenbank Verbindung konfigurieren damit er arbeitet. Das kann entweder durch Verwendung der Db Ressource getan werden -- und indem man sicherstellt das der "resources.db" Schlüssel vor dem "resources.session" Schlüssel kommt -- oder durch Schreiben einer eigenen Ressource welche die Datenbank initialisiert, und im speziellen den standardmäßigen `Zend_Db_Table` Adapter setzt.