Previous Next

Vorhandene Ressource Plugins

Hier kann man API-artige Dokumentation über alle Ressource Plugins finden die standardmäßig in Zend_Application vorhanden sind.

Zend_Application_Resource_Cachemanager

Zend_Application_Resource_Cachemanager kann verwendet werden um ein Bündel von Zend_Cache Optionen zu setzen die verwendet werden sollen wenn Caches lazy geladen werden bei der Verwendung von Zend_Cache_Manager

Da der Cache Manager ein Lazy Loading Mechanismus ist, werden die Optionen auf Options Templates übersetzt welche verwendet werden um ein Cache Objekt auf Anfrage zu initialisieren.

Beispiel #1 Beispiel einer Cachemanager Ressource Konfiguration

Anbei ist eine Beispiel INI Datei die zeigt wie Zend_Cache_Manager konfiguriert werden kann. Das Format ist der Präfix der Cachemanager Ressource (resources.cachemanager) gefolgt von dem Namen der einer Cache Template/Bündel Option zugeordnet werden soll (z.B. resources.cachemanager.database) und letztendlich gefolgt von einer typischen Zend_Cache Option.

resources.cachemanager.database.frontend.name = Core
resources.cachemanager.database.frontend.customFrontendNaming = false
resources.cachemanager.database.frontend.options.lifetime = 7200
resources.cachemanager.database.frontend.options.automatic_serialization = true
resources.cachemanager.database.backend.name = File
resources.cachemanager.database.backend.customBackendNaming = false
resources.cachemanager.database.backend.options.cache_dir = "/path/to/cache"
resources.cachemanager.database.frontendBackendAutoload = false

Das Empfangen dieses Caches vom Cache Manager ist in Wirklichkeit so einfach wie der Zugriff auf eine Instanz des Managers (Zend_Cache_Manager) was von Zend_Application_Resource_Cachemanager empfangen wird beim Aufruf von $cacheManager->getCache('database');. Das folgende Beispiel ist von einem Controller genommen bei dem auf die Bootstrap Klasse als Front Controller Parameter zugegriffen werden kann (welcher automatisch wärend des bootstrappens zugeordnet wird). Wie man sehen kann implementiert die Cache Manager Ressource eine getCacheManager() Methode um die ge-bootstrappte Instanz von Zend_Cache_Manager zu erhalten.

$manager = $this->getFrontController()
            ->getParam('bootstrap')
            ->getResource('cachemanager')
            ->getCacheManager();
$dbCache = $manager->getCache('database');

Siehe auch die Methode Zend_Cache::factory() um eine Beschreibung der Standardwerte zu bekommen welche man zuordnen kann wenn ein Cache über eine Konfigurationsdatei konfiguriert wurde wie im obigen Beispiel einer INI Datei.

Zend_Application_Resource_Db

Zend_Application_Resource_Db initialisiert einen Zend_Db Adapter basieren auf den Ihm übergebenen Optionen. Standardmäßig, setzt es den Adapter als Default Adapter zur Verwendung mit Zend_Db_Table. Wenn man mehrere Datenbanken simultan verwenden will, kann man das Multidb Ressource Plugin verwenden.

Die folgenden Konfigurationsschlüssel werden erkannt:

  • adapter: Zend_Db Adaptertyp.

  • params: Assoziatives Array von Konfigurationsparametern das verwendet wird wenn man die Instanz des Adapter empfängt.

  • isDefaultTableAdapter: Ob dieser Adapter als Standard-Tabellen Adapter verwendet werden soll oder nicht.

  • defaultMetadataCache: Der Name des Cache Templates oder einer Instanz von Zend_Cache_Core welche als Metadaten-Cache für Zend_Db_Table zu verwenden ist.

Beispiel #2 Beispiel der Konfiguration einer DB Adapter Ressource

Anbei ist das Beispiel einer INI Konfiguration die verwendet werden kann um die DB Ressource zu initialisieren.

[production]
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "webuser"
resources.db.params.password = "XXXXXXX"
resources.db.params.dbname = "test"
resources.db.isDefaultTableAdapter = true

; Optional kann auch ein Cache Template zur Verwendung für Metadaten Caching
; angegeben werden:
resources.db.defaultMetadataCache = "database"

Hinweis: Empfangen der Adapter Instanz

Wenn man den, mit dieser Ressource initialisierten Adapter, nicht zum Standard-Tabellen Adapter macht, wie erhält man dann die Adapter Instanz ?

Wie bei jedem Ressource Plugin, kann an das DB Ressource Plugin von der Bootstrap Datei erhalten:

$resource = $bootstrap->getPluginResource('db');

Sobald man das Ressource Objekt hat, kann man den DB Adapter erhalten indem die getDbAdapter() Methode verwendet wird:

$db = $resource->getDbAdapter();

Zend_Application_Resource_Dojo

Zend_Application_Resource_Dojo kann verwendet werden um die Viewhelfer von Zend_Dojo zu konfigurieren.

Beispiel #3 Beispiel einer Dojo Ressource Konfiguration

Anbei ist ein Beispiel einer INI Datei welches zeigt wie Zend_Dojo aktiviert werden kann.

resources.dojo.enable = true ; Always load the Dojo javascript files

Das Zend_Dojo Ressource Plugin verwendet die Optionen für Zend_Dojo_View_Helper_Dojo_Container::setOptions() um die Viewhelfer zu konfigurieren. Sehen Sie bitte im Kapitel über Zend_Dojo für eine vollständige Beschreibung und die vorhandenen Optionen nach.

Zend_Application_Resource_Frontcontroller

Die warscheinlich am meisten verwendete Ressource die man mit Zend_Application verwenden wird, ist die Front Controller Ressource, die eine Möglichkeit bietet den Zend_Controller_Front zu konfigurieren. Diese Ressource bietet die Möglichkeit verschiedenste Front Controller Parameter zu setzen, Plugins zu spezifizieren die initialisiert werden sollen, und vieles mehr.

Sobald Sie initialisiert wurde, fügt die Ressource die $frontController Eigenschaft vom Bootstrap in die Zend_Controller_Front Instanz hinzu.

Die folgenden Konfigurationsschlüssel sind vorhanden, und sind abhängig von der Groß- oder Kleinschreibung:

  • controllerDirectory: Entweder ein Stringwert der ein einzelnes Controller Verzeichnis spezifiziert, oder ein Array von Modul und Controller Verzeichnis Paaren.

  • moduleControllerDirectoryName: Ein Stringwert der auf ein Unterverzeichnis unter einem Modul zeigt, das Controller enthält.

  • moduleDirectory: Verzeichnis in dem Module gefunden werden können.

  • defaultControllerName: Basisname des Standard Controllers (normalerweise "index").

  • defaultAction: Basisname der Standard Aktion (normalerweise "index").

  • defaultModule: Basisname des Standard Moduls (normalerweise "default").

  • baseUrl: Explizite Basis URL zur Anwendung (normalerweise automatisch erkannt).

  • plugins: Array von Front Controller Plugin Klassennamen. Die Ressource wird jede Klasse instanziieren (ohne Contructor Argumente) und die Instanz dann mit dem Front Controller registrieren. Wenn man ein Plugin mit einem speziellen Stackindex registriert muss man ein Array mit den zwei Schlüsseln class und stackIndex angeben.

  • params: Array von Schlüssel und Wert Paaren die mit dem Front Controller registriert werden sollen.

  • returnresponse: Ob das Response Objekt nach dem Dispatchen des Front Controllers zurückgegeben wird oder nicht. Der Wert sollte ein Boolean sein; standardmäßig ist er deaktiviert.

Wenn ein Schlüssel übergeben wird der nicht erkannt wird, wird dieser als Parameter beim Front Controller registriert, indem er an setParam() übergeben wird.

Beispiel #4 Beispiel der Konfiguration einer Front Controller Ressource

Anbei ist ein Beispiel eines INI Abschnitts der zeigt wie die Front Controller Ressource konfiguriert werden kann.

[production]
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.moduleControllerDirectoryName = "actions"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.defaultControllerName = "site"
resources.frontController.defaultAction = "home"
resources.frontController.defaultModule = "static"
resources.frontController.baseUrl = "/subdir"
resources.frontController.plugins.foo = "My_Plugin_Foo"
resources.frontController.plugins.bar = "My_Plugin_Bar"
resources.frontController.plugins.baz.class = "My_Plugin_Baz"
resources.frontController.plugins.baz.stackIndex = 123
resources.frontController.returnresponse = 1
resources.frontController.env = APPLICATION_ENV

; Das folgende verweist auf: Zend_Controller_Action_HelperBroker::addPath('Helper_Path', $helperPrefix);
resources.frontController.actionHelperPaths.HELPER_Prefix = "My/Helper/Path"

Beispiel #5 Empfangen des Front Controllers im eigenen Bootstrap

Sobald die Front Controller Ressource initialisiert wurde, kann die Front Controller Instanz über die $frontController Eigenschaft der Bootstraps geholt werden.

$bootstrap->bootstrap('frontController');
$front = $bootstrap->frontController;

Zend_Application_Resource_Layout

Zend_Application_Resource_Layout kann verwendet werden um Zend_Layout zu konfigurieren. Die Optionen für die Konfiguration sind die Optionen von Zend_Layout.

Beispiel #6 Einfache Konfiguration eines Layouts

Anbei ist ein beispielhaftes INI Schnipsel das zeigt wie Layout Ressourcen konfiguriert werden können.

resources.layout.layout = "NameOfDefaultLayout"
resources.layout.layoutPath = "/path/to/layouts"

Zend_Application_Resource_Locale

Zend_Application_Resource_Locale kann verwendet werden um ein Anwendungsweites Gebietsschema zu setzen welches dann in allen Klassen und Komponenten verwendet wird welche mit Lokalisierung oder Internationalisierung arbeiten. Standardmäßig wird das Gebietsschema in einem Zend_Registry Eintrag mit dem Schlüssel 'Zend_Locale' gespeichert.

Es gibt grundsätzlich drei Anwendungsfälle für das Locale Ressource Plugin. Jeder von Ihnen sollte abhängig auf den Notwendigkeiten der Anwendung verwendet werden.

Automatische Erkennung des zu verwendenden Gebietsschemas

Ohne Spezifikation einer Option für Zend_Application_Resource_Locale, erkennt Zend_Locale das Gebietsschema, welches in der Anwendung verwendet werden soll automatisch.

Diese Erkennung funktioniert weil der Client die gewünschte Sprache in seiner HTTP Anfrage sendet. Normalerweise sendet der Client die Sprache welche er sehen will, und Zend_Locale verwendet diese Information für die Erkennung.

Aber es gibt 2 Probleme mit diesem Verfahren:

  • Der Browser könnte so eingestellt sein das er keine Sprache sendet

  • Der Benutzer könnte ein Gebietsschema manuell gesetzt haben das gar nicht existiert

In beiden Fällen wird Zend_Locale auf einen anderen Mechanismus zurückfallen um das Gebietsschema zu erkennen:

  • Wenn ein Gebietsschema gesetzt wird das nicht existiert versucht Zend_Locale diesen String degradieren.

    Wenn zum Beispiel en_ZZ gesetzt wird, dann wird es automatisch zu en degradiert. In diesem Fall wird en als Gebietsschema für die Anwendung verwendet.

  • Wenn das Gebietsschema durch das degradieren nicht erkannt wird, dann wird das Gebietsschema der Umgebung (Web Server) verwendet. Die meisten vorhandenen Umgebungen von Web Hostern verwenden en als Gebietsschema.

  • Wenn das Gebietsschema des Systems nicht erkannt wird, verwendet Zend_Locale sein eigenes Standardgebietsschema, welches standardmäßig auf en gesetzt wird.

Für weitere Informationen über die Erkennung von Gebietsschema sollte in dieses Kapitel für Zend_Locale's automatischer Erkennung gesehen werden.

Das Gebietsschema automatisch erkennen und ein eigenes Fallback hinzufügen

Die automatische Erkennung von vorher könnte zu Problemen führen wenn das Gebietsschema nicht erkannt werden kann und man ein anderes Standardgebietsschema als en haben will. Um das zu verhindern erlaubt es Zend_Application_Resource_Locale ein eigenes Gebietsschema zu setzen welches in dem Fall verwendet wird wenn kein Gebietsschema erkannt wird.

Beispiel #7 Automatische Erkennung des Gebietsschemas und setzen eines Fallbacks

Der folgende Abschnitt zeigt wie ein eigenes Standardgebietsschema gesetzt werden kann welches verwendet wird wenn der Client selbst kein Gebietsschema sendet.

; Versucht zuerst die automatische Erkennung,
; ist diese nicht erfolgreich wird nl_NL als Fallback verwendet
resources.locale.default = "nl_NL"

Erzwingen eines Gebietsschemas für die Verwendung

Manchmal ist es nützlich ein einzelnes Gebietsschema zu definieren welches verwendet werden soll. Das kann durch Verwendung der Option force getan werden.

In diesem Fall wird dieses einzelne Gebietsschema verwendet und die automatische Erkennung wird ausgeschaltet.

Beispiel #8 Definition eines einzelnen Gebietsschemas für die Verwendung

Der folgende Abschnitt zeigt wie ein einzelnes Gebietsschema für die komplette Anwendung gesetzt werden kann.

; Unabhängig von allem wird das Gebietsschema nl_NL verwendet
resources.locale.default = "nl_NL"
resources.locale.force = true

Zend_Application_Resource_Log

Zend_Application_Resource_Log instanziert eine Instanz von Zend_Log mit einer beliebigen Anzahl an Log Writern. Die Konfiguration wird der Zend_Log::factory() Methode übergeben, was es erlaubt Kombinationen von Log Writern und Filtern zu spezifizieren. Die Log Instanz kann später durch den Bootstrap empfangen werden um Events zu loggen.

Beispiel #9 Beispiel Konfiguration einer Log Ressource

Anbei ist ein Beispiel eines INI Abschnitts der zeigt wir die Log Ressource konfiguriert wird.

resources.log.stream.writerName = "Stream"
resources.log.stream.writerParams.stream = APPLICATION_PATH "/../data/logs/application.log"
resources.log.stream.writerParams.mode = "a"
resources.log.stream.filterName = "Priority"
resources.log.stream.filterParams.priority = 4

Für weitere Informationen über vorhandene Optionen, siehe in die Dokumentation von Zend_Log::factory().

Zend_Application_Resource_Mail

Zend_Application_Resource_Mail kann verwendet werden um einen Transport für Zend_Mail zu instanzieren, oder den Standardnamen und Adresse zu setzen, sowie die standardmäßigen replyto- Namen und Adressen.

Wenn ein Transport instanziert wird, wird er automatisch bei Zend_Mail registriert. Aber durch das Setzen der transport.register Direktive auf FALSE, findet dieses Verhalten nicht mehr statt.

Beispiel #10 Beispiel der Konfiguration der Mail Ressource

Anbei ist ein beispielhafter INI Abschnitt der zeigt wie das Mail Ressource Plugin konfiguriert wird.

resources.mail.transport.type = smtp
resources.mail.transport.host = "smtp.example.com"
resources.mail.transport.auth = login
resources.mail.transport.username = myUsername
resources.mail.transport.password = myPassword
resources.mail.transport.register = true ; True by default

resources.mail.defaultFrom.email = john@example.com
resources.mail.defaultFrom.name = "John Doe"
resources.mail.defaultReplyTo.email = Jane@example.com
resources.mail.defaultReplyTo.name = "Jane Doe"

Zend_Application_Resource_Modules

Zend_Application_Resource_Modules wird verwendet im eigene Anwendungsmodule zu initialisieren. Wenn das Modul eine Bootstrap.php Datei in seinem Root hat, und es eine Klasse die Module_Bootstrap heißt enthält (wobei "Module" der Modulname ist), dann wird diese Klasse verwendet um das Modul zu bootstrappen.

Standardmäßig wird eine Instanz vom Zend_Application_Module_Autoloader für das Modul erstellt, indem der Modulname und das Verzeichnis dazu verwendet werden sie zu initialisieren.

Da die Modul Ressourcen standardmäßig keine Argumente entgegen nehmen muss man, um das über die Konfiguration zu gestatten, diese als leeres Array erstellen. In der INI Stil Konfiguration sieht das etwa so aus:

resources.modules[] =

In XML Stil Konfiguration sieht das etwa so aus:


    
        
        
    

Bei Verwendung eines PHP Arrays, einfach Erstellen indem ein leeres Array verwendet wird:

$options = array(
    'resources' => array(
        'modules' => array(),
    ),
);

Hinweis: Abhängigkeiten der Front Controller Ressource

Die Module Ressource hat eine Abhängigkeit zur Front Controller Ressource. Man kann natürlich seine eigenen Ersatz für diese Ressource, über eine eigene Front Controller Ressource Klasse, anbieten oder eine Initialisierungsmethode für eine Klasse -- solange die Ressource Plugin Klasse mit "Frontcontroller" endet, oder die Initialisierungsmethode "_initFrontController" heißt (abhängig von der Groß- und Kleinschreibung).

Beispiel #11 Module konfigurieren

Man kann eine modul-spezifische Konfiguration spezifizieren indem der Modulname als Präfix oder Unter-Sektion in der Konfigurationsdatei verwendet wird.

Nehmen wir als Beispiel an, das die eigene Anwendung ein "news" Modul hat. Nachfolgend sind die INI und XML Beispiele die eine Konfiguration von Ressourcen in diesem Modul zeigen.

[production]
news.resources.db.adapter = "pdo_mysql"
news.resources.db.params.host = "localhost"
news.resources.db.params.username = "webuser"
news.resources.db.params.password = "XXXXXXX"
news.resources.db.params.dbname = "news"


    
        
            
                
                    pdo_mysql
                    
                        localhost
                        webuser
                        XXXXXXX
                        news
                    
                    true
                
            
        
    

Beispiel #12 Eine spezielle Modul Bootstrap erhalten

Manchmal will man ein Bootstrap Objekt für ein spezifisches Modul erhalten -- möglicherweise um andere Bootstrap Methoden auszuführen, oder um den Autoloader zu holen damit er konfiguriert werden kann. Das kann man erreichen indem die getExecutedBootstraps() Methode der Modul Ressource verwendet wird.

$resource = $bootstrap->getPluginResource('modules');
$moduleBootstraps = $resource->getExecutedBootstraps();
$newsBootstrap = $moduleBootstraps['news'];

Zend_Application_Resource_Multidb

Zend_Application_Resource_Multidb wird verwendet um mehrere Datenbankverbindungen zu initialisieren. Man kann die gleichen Optionen wie beim Db Ressource Plugin verwenden. Trotzdem kann für das Spezifizieren einer Standardverbindung auch die 'default' Direktive verwendet werden.

Beispiel #13 Mehrere Db Verbindungen konfigurieren

Anbei ist eine beispielhafte INI Konfiguration die verwendet werden kann um zwei Db Verbindungen zu initialisieren.

[production]
resources.multidb.db1.adapter = "pdo_mysql"
resources.multidb.db1.host = "localhost"
resources.multidb.db1.username = "webuser"
resources.multidb.db1.password = "XXXX"
resources.multidb.db1.dbname = "db1"

resources.multidb.db2.adapter = "pdo_pgsql"
resources.multidb.db2.host = "example.com"
resources.multidb.db2.username = "dba"
resources.multidb.db2.password = "notthatpublic"
resources.multidb.db2.dbname = "db2"
resources.multidb.db2.default = true

Beispiel #14 Einen speziellen Datenbankadapter empfangen

Wenn dieses Ressource Plugin verwendet wird, will man normalerweise eine spezifische Datenbank erhalten. Das kann durch Verwendung von getDb() von der Ressource getan werden. Die Methode getDb() gibt eine Instanz einer Klasse zurück welche Zend_Db_Adapter_Abstract erweitert. Wenn man keine Standarddatendank gesetzt hat, wird eine Exception geworfen wenn diese Methode ohne die Spezifikation eines Parameters aufgerufen wird.

$resource = $bootstrap->getPluginResource('multidb');
$db1 = $resource->getDb('db1');
$db2 = $resource->getDb('db2');
$defaultDb = $resource->getDb();

Beispiel #15 Den standardmäßigen Datenbankadapter empfangen

Zusätzlich kann der standardmäßige Datenbankadapter empfangen werden indem die Methode getDefaultDb() verwendet wird. Wenn man keinen standardmäßigen Adapter gesetzt hat, wird der erste konfigurierte Db Adapter zurückgegeben. Wenn man FALSE als ersten Parameter spezifiziert dann wird NULL zurückgegeben wenn kein standardmäßiger Datenbankadapter gesetzt wurde.

Anbei ist ein Beispiel welches annimmt dass das Multidb Ressource Plugin mit dem obigen INI Beispiel konfiguriert wurde:

$resource = $bootstrap->getPluginResource('multidb');
$db2 = $resource->getDefaultDb();

// Selbe Konfiguration, aber ohne eine standardmäßige Db:
$db1 = $resource->getDefaultDb();
$null = $resource->getDefaultDb(false); // Null

Zend_Application_Resource_Navigation

Zend_Application_Resource_Navigation kann verwendet werden um eine Zend_Navigation Instanz zu konfigurieren. Die Optionen der Konfiguration entsprechen den Optionen von Zend_Navigation.

Sobald die Instanz der Navigation konfiguriert wurde, wird diese standardmäßig Zend_View_Helper_Navigation zugeordnet -- von der es später geholt werden kann.

Beispiel #16 Beispiel der Konfiguration einer Navigations Ressource

Anbei ist ein Beispiel eines INI Abschnitts der zeigt wir die Navigations Ressource konfiguriert wird.

resources.navigation.pages.page1.label = "Überschrift der ersten Zeile"
resources.navigation.pages.page1.route = "Route die der ersten Seite gehört"

; Page 2 is a subpage of page 1
resources.navigation.pages.page1.pages.page2.type = "Zend_Navigation_Page_Uri"
resources.navigation.pages.page1.pages.page2.label = "Überschrift Seite zwei"
resources.navigation.pages.page1.pages.page2.uri = "/url/to/page/2"

Zend_Application_Resource_Router

Zend_Application_Resource_Router kann verwendet werden um den Router so zu konfigurieren wie er im Front Controller registriert wird. Die Konfigurationsoptionen sind die gleichen wie die Optionen von Zend_Controller_Router_Route.

Beispiel #17 Beispiel Konfiguration für eine Router Ressource

Anbei ist ein Beispiel INI Stück welches zeigt wie die Router Ressource konfiguriert wird.

resources.router.routes.route_id.route = "/login"
resources.router.routes.route_id.defaults.module = "user"
resources.router.routes.route_id.defaults.controller = "login"
resources.router.routes.route_id.defaults.action = "index"

; Optional kann ein Chain Name Separator gesetzt werden:
resources.router.chainNameSeparator = "_"

Für weitere Informationen über den Chain Name Separator, sehen Sie bitte in dessen Sektion.

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 #18 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"

Hinweis: 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.

Zend_Application_Resource_View

Zend_Application_Resource_View kann verwendet werden um eine Instanz von Zend_View zu konfigurieren. Konfigurations Optionen sind die Zend_View Optionen.

Sobald die View Instanz konfiguriert wurde, erstellt Sie eine Instanz von Zend_Controller_Action_Helper_ViewRenderer und registriert den ViewRenderer im Zend_Controller_Action_HelperBroker -- von dem man Sie später empfangen kann.

Beispiel #19 Beispiel der Konfiguration einer View Ressource

Anbei ist das Beispiel eines INI Abschnitts der zeigt wie die View Ressource konfiguriert werden kann.

resources.view.encoding = "UTF-8"
resources.view.basePath = APPLICATION_PATH "/views/"
Previous Next
Einführung zum Zend Framework
Übersicht
Installation
Einstieg ins Zend Framework
Schnellstart in den Zend Framework
Zend Framework & MVC Einführung
Das Projekt erstellen
Ein Layout erstellen
Ein Modell und eine Datenbank Tabelle erstellen
Erstellen eines Formulars
Gratulation!
Autoloading im Zend Framework
Einführung
Ziele und Design
Grundsätzliche Verwendung von Autoloadern
Automatisches Laden von Ressourcen
Zusammenfassung
Plugins im Zend Framework
Einführung
Verwenden von Plugins
Fazit
Einstieg in Zend_Layout
Einführung
Zend_Layout verwenden
Zend_Layout: Fazit
Einstieg in Zend_View Platzhalter
Einführung
Grundsätzliche Verwendung von Platzhaltern
Standard Platzhalter
View Platzhalter: Fazit
Zend_Form's Gestalter (Decorator) verstehen und verwenden
Einführung
Decorator Grundlagen
Layeraufbau von Decorators
Darstellung individueller Decorators
Erstellung und Darstellung von kombinierten Elementen
Fazit
Einstieg in Zend_Session, Zend_Auth, und Zend_Acl
Erstellung von Multi-User Anwendungen mit Zend Framework
User Session im Zend Framework managen
Benutzer im Zend Framework authentifizieren
Erstellung eines Authorisations Systems in Zend Framework
Einstieg in Zend_Search_Lucene
Einführung in Zend_Search_Lucene
Lucene Index Struktur
Indezes öffnen und erstellen
Indizierung
Suchen
Unterstützte Abfragen
Seitendarstellung von Suchergebnissen
Einstieg in Zend_Paginator
Einführung
Einfaches Beispiel
Seitenkontrolle und ScrollingStyles
Alles zusammenfügen
Zend Framework's Referenz
Zend_Acl
Einführung
Verfeinern der Zugriffskontrolle
Fortgeschrittene Verwendung
Zend_Amf
Einführung
Zend_Amf_Server
Zend_Application
Einführung
Zend_Application Quick Start
Theorie der Funktionsweise
Beispiele
Kern Funktionalität
Vorhandene Ressource Plugins
Zend_Auth
Einführung
Datenbanktabellen Authentifizierung
Digest Authentication
HTTP Authentication Adapter
LDAP Authentifizierung
Open ID Authentifikation
Zend_Barcode
Einführung
Barcodes mit Hilfe der Zend_Barcode Klasse erstellen
Zend_Barcode Objekte
Zend_Barcode Renderer
Zend_Cache
Einführung
Die Theorie des Cachens
Zend_Cache Frontends
Zend_Cache Backends
Der Cache Manager
Zend_Captcha
Einführung
Captcha Anwendung
CAPTCHA Adapter
Zend_CodeGenerator
Einführung
Zend_CodeGenerator Beispiele
Zend_CodeGenerator Referenz
Zend_Config
Einleitung
Theory of Operation
Zend_Config_Ini
Zend_Config_Xml
Zend_Config_Writer
Zend_Config_Writer
Zend_Console_Getopt
Einführung
Definieren von Getopt Regeln
Holen von Optionen und Argumenten
Konfigurieren von Zend_Console_Getopt
Zend_Controller
Zend_Controller Schnellstart
Zend_Controller Grundlagen
Der Front Controller
Das Request Objekt
Der Standard Router
Der Dispatcher
Action Controller
Action Helfer
Das Response Objekt
Plugins
Eine konventionelle modulare Verzeichnis Struktur verwenden
MVC Ausnahmen
Zend_Currency
Einführung in Zend_Currency
Zend_Currency verwenden
Optionen für Währungen
Was macht eine Währung aus?
Wo ist die Währung?
Wie sieht die Währung aus?
Wie viel Währung habe ich?
Rechnen mit Währungen
Währungen wechseln
Zusätzliche Informationen für Zend_Currency
Zend_Date
Einführung
Theorie der Arbeitsweise
Basis Methoden
Zend_Date API Übersicht
Erstellen von Datumswerten
Konstanten für generelle Datums Funktionen
Funktionierende Beispiele
Zend_Db
Zend_Db_Adapter
Zend_Db_Statement
Zend_Db_Profiler
Zend_Db_Select
Zend_Db_Table
Zend_Db_Table_Row
Zend_Db_Table_Rowset
Zend_Db_Table Relationships
Zend_Db_Table_Definition
Zend_Debug
Variablen ausgeben
Zend_Dojo
Einführung
Zend_Dojo_Data: dojo.data Envelopes
Dojo View Helfer
Formular Elemente und Dekoratore für Dojo
Support für den Build Layer von Zend_Dojo
Zend_Dom
Einführung
Zend_Dom_Query
Zend_Exception
Verwenden von Ausnahmen
Grundsätzliche Verwendung
Vorherige Exceptions
Zend_Feed
Einführung
Feeds importieren
Feeds von Websites abrufen
Einen RSS Feed konsumieren
Einen Atom Feed konsumieren
Einen einzelnen Atom Eintrag konsumieren
Verändern der Feed- und Eintragsstruktur
Eigene Klassen für Feeds und Einträge
Zend_Feed_Reader
Zend_Feed_Writer
Zend_Feed_Pubsubhubbub
Zend_File
Zend_File_Transfer
Prüfungen für Zend_File_Transfer
Filter für Zend_File_Transfer
Zend_Filter
Einführung
Standard Filter Klassen
Filter Ketten
Filter schreiben
Zend_Filter_Input
Zend_Filter_Inflector
Zend_Form
Zend_Form
Schnellstart mit Zend_Form
Erstellen von Form Elementen mit Hilfe von Zend_Form_Element
Erstellen von Form durch Verwendung von Zend_Form
Erstellen von eigenem Form Markup durch Zend_Form_Decorator
Standard Form Elemente die mit dem Zend Framework ausgeliefert werden
Standard Formular Dekoratoren die mit dem Zend Framework ausgeliefert werden
Internationalisierung von Zend_Form
Fortgeschrittene Verwendung von Zend_Form
Zend_Gdata
Einführung
Authentifizierung mit AuthSub
Die Buchsuche Daten API verwenden
Authentifizieren mit ClientLogin
Google Kalender verwenden
Verwenden der Google Dokumente Listen Daten API
Verwenden von Google Health
Google Tabellenkalkulation verwenden
Google Apps Provisionierung verwenden
Google Base verwenden
Picasa Web Alben verwenden
Verwenden der YouTube Daten API
Gdata Ausnahmen auffangen
Zend_Http
Einführung
Zend_Http_Client - Fortgeschrittende Nutzung
Zend_Http_Client - Verbindungsadapter
Zend_Http_Cookie und Zend_Http_CookieJar
Zend_Http_Response
Zend_InfoCard
Einführung
Zend_Json
Einführung
Grundlegende Verwendung
Fortgeschrittene Verwendung von Zend_Json
XML zu JSON Konvertierung
Zend_Json_Server - JSON-RPC Server
Zend_Layout
Einführung
Zend_Layout Schnellstart
Zend_Layout Konfigurations Optionen
Erweiterte Verwendung von Zend_Layout
Zend_Ldap
Einführung
API Übersicht
Szenarien der Verwendung
Tools
Objektorientierter Zugriff auf den LDAP Baum durch Verwendung von Zend_Ldap_Node
Informationen vom LDAP Server erhalten
Serialisieren von LDAP Daten von und zu LDIF
Zend_Loader
Dynamisches Laden von Dateien und Klassen
Der Autoloader
Ressource Autoloader
Plugins laden
Zend_Locale
Einführung
Zend_Locale verwenden
Normalisierung und Lokalisierung
Arbeiten mit Daten und Zeiten
Unterstützte Gebietsschemata
Zend_Log
Übersicht
Writer
Formatter
Filter
Die Factory verwenden um ein Log zu erstellen
Zend_Mail
Einführung
Versand über SMTP
Versand von mehreren E-Mails über eine SMTP Verbindung
Verwendung von unterschiedlichen Versandwegen
HTML E-Mail
Anhänge
Empfänger hinzufügen
Die MIME Abgrenzung kontrollieren
Zusätzliche Kopfzeilen
Zeichensätze
Kodierung
SMTP Authentifizierung
SMTP Übertragungen sichern
Lesen von Mail Nachrichten
Zend_Markup
Einführung
Beginnen mit Zend_Markup
Zend_Markup Parser
Zend_Markup Renderer
Zend_Measure
Einführung
Erstellung einer Maßeinheit
Ausgabe von Maßeinheiten
Manipulation von Maßeinheiten
Arten von Maßeinheiten
Zend_Memory
Übersicht
Memory Manager
Memory Objekte
Zend_Mime
Zend_Mime
Zend_Mime_Message
Zend_Mime_Part
Zend_Navigation
Einführung
Seiten
Container
Zend_Oauth
Einführung zu OAuth
Zend_OpenId
Einführung
Zend_OpenId_Consumer Grundlagen
Zend_OpenId_Provider
Zend_Paginator
Einführung
Verwendung
Konfiguration
Advanced usage
Zend_Pdf
Einführung
Erstellen und Laden von PDF Dokumenten
Änderungen an PDF Dokumenten speichern
Arbeiten mit Seiten
Zeichnen
Interaktive Features
Dokument Informationen und Metadaten
Anwendungsbeispiel für die Zend_Pdf Komponente
Zend_ProgressBar
Zend_ProgressBar
Zend_Queue
Einführung
Beispiel der Verwendung
Framework
Adapter
Anpassen von Zend_Queue
Stomp
Zend_Reflection
Einführung
Zend_Reflection Beispiele
Zend_Reflection Referenz
Zend_Registry
Die Registry verwenden
Zend_Rest
Einführung
Zend_Rest_Client
Zend_Rest_Server
Zend_Search_Lucene
Überblick
Indexerstellung
Einen Index durchsuchen
Abfragesprache
Abfrage Erzeugungs API
Zeichensätze
Erweiterbarkeit
Zusammenarbeit Mit Java Lucene
Erweitert
Die besten Anwendungen
Zend_Serializer
Einführung
Zend_Serializer_Adapter
Zend_Server
Einführung
Zend_Server_Reflection
Zend_Service
Einführung
Zend_Service_Akismet
Zend_Service_Amazon
Zend_Service_Amazon_Ec2
Zend_Service_Amazon_Ec2: Instanzen
Zend_Service_Amazon_Ec2: Windows Instanzen
Zend_Service_Amazon_Ec2: Reservierte Instanzen
Zend_Service_Amazon_Ec2: CloudWatch Monitoring
Zend_Service_Amazon_Ec2: Amazon Maschinen Images (AMI)
Zend_Service_Amazon_Ec2: Elastischer Block Speicher (EBS)
Zend_Service_Amazon_Ec2: Elastische IP Adressen
Zend_Service_Amazon_Ec2: Schlüsselpaare
Zend_Service_Amazon_Ec2: Regionen und Availability Zones
Zend_Service_Amazon_Ec2: Sicherheitsgruppen
Zend_Service_Amazon_S3
Zend_Service_Amazon_Sqs
Zend_Service_Audioscrobbler
Zend_Service_Delicious
Zend_Service_DeveloperGarden
Zend_Service_Flickr
Zend_Service_LiveDocx
Zend_Service_Nirvanix
Zend_Service_ReCaptcha
Zend_Service_Simpy
Zend_Service_SlideShare
Zend_Service_StrikeIron
Zend_Service_StrikeIron: Mitgelieferte Services
Zend_Service_StrikeIron: Erweiterte Verwendung
Zend_Service_Technorati
Zend_Service_Twitter
Zend_Service_WindowsAzure
Zend_Service_Yahoo
Zend_Session
Einführung
Grundsätzliche Verwendung
Fortgeschrittene Benutzung
Globales Session Management
Zend_Session_SaveHandler_DbTable
Zend_Soap
Zend_Soap_Server
Zend_Soap_Client
WSDL Zugriffsmethoden
AutoDiscovery
Zend_Tag
Einführung
Zend_Tag_Cloud
Zend_Test
Einführung
Zend_Test_PHPUnit
Zend_Test_PHPUnit_Db
Zend_Text
Zend_Text_Figlet
Zend_Text_Table
Zend_TimeSync
Einführung
Arbeiten mit Zend_TimeSync
Zend_Tool
Verwendung von Zend_Tool auf der Kommandozeile
Zend_Tool erweitern
Zend_Tool_Framework
Einführung
Verwenden des CLI Tools
Architektur
Erstellen von Providern für die Verwendung mit Zend_Tool_Framework
Mitgelieferte System Provider
Extending and Configuring Zend_Tool_Framework
Zend_Tool_Project
Einführung
Ein Projekt erstellen
Project Provider für Zend_Tool
Zend_Tool_Project Internas
Zend_Translate
Einführung
Adapter für Zend_Translate
Verwendung der Übersetzungsadapter
Erstellen von Quelldateien
Zusätzliche Features für Übersetzungen
Schreibweisen von Pluralformen für Übersetzungen
Zend_Uri
Zend_Uri
Zend_Validate
Einführung
Standard Prüfklassen
Kettenprüfungen
Schreiben von Prüfern
Prüfungsmeldungen
Zend_Version
Die Version des Zend Frameworks erhalten
Zend_View
Einführung
Controller Skripte
View Scripte
View Helfer
Zend_View_Abstract
Zend_Wildfire
Zend_Wildfire
Zend_XmlRpc
Einführung
Zend_XmlRpc_Client
Zend_XmlRpc_Server
ZendX_Console_Process_Unix
ZendX_Console_Process_Unix
ZendX_JQuery
Introduction
ZendX_JQuery View Helpers
ZendX_JQuery Form Elements and Decorators
Zend Framework Voraussetzungen
Einführung
Zend Framework's Migrationshinweise
Zend Framework 1.10
Zend Framework 1.9
Zend Framework 1.8
Zend Framework 1.7
Zend Framework 1.6
Zend Framework 1.5
Zend Framework 1.0
Zend Framework 0.9
Zend Framework 0.8
Zend Framework 0.6
Zend Framework Coding Standard für PHP
Übersicht
PHP Dateiformatierung
Namens Konventionen
Code Stil
Zend Framework Dokumentations Standard
Übersicht
Formatierung von Dokumentationsdateien
Empfehlungen
Vorgeschlagene Struktur für die Projekt Struktur von Zend Framework MVC Anwendungen
Übersicht
Vorgeschlagene Verzeichnis Struktur für Projekte
Modul Struktur
Leitfaden für die Rewrite Konfiguration
Zend Framework's Performanceratgeber
Einführung
Laden von Klassen
Zend_Db Performance
Internationalisierung (I18n) und Lokalisierung (L10n)
Darstellen der View
Urheberrecht Informationen