Eine Webapplikation mit Zend Framework konfigurieren

Im letzten Teil habe ich gezeigt, wie man eine Webapplikation mit dem Zend Framework initial erstellt. Heute will ich ein paar nützliche Konfigurationseinstellungen hinzufügen, die in einer Webapplikation wichtig sind. Alle Einträge beziehen sich auf die application.ini.

Korrekte Zeitzone

Für die korrekte Zeitzone der Applikation sollte folgender Eintrag im [production]-Teil ergänzt werden:

phpSettings.date.timezone = "Europe/Berlin"

Mit dieser Einstellung wird intern die Funktion date_default_timezone_set gerufen. Ich hab jetzt meine Zeitzone gewählt. Da sollte grundsätzlich die Zeitzone aus php genutzt werden, in der die Applikation läuft.
PHP-Settings können übrigens immer über die Struktur phpSettings. gesetz werden.

Verlegen der Dateien im default-Module

Das Zend Framework speichert standardmäßig im application-Ordner die Struktur des default-Modules. Um dies zu ändern geht man wie folgt vor:

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"

ändern zu

resources.frontController.controllerDirectory = APPLICATION_PATH "/modules/default/controllers"

bzw. diesen Konfigurationseintrag löschen.
Danach muss man die Ordner controllers, models, views unterhalb application nach application/modules/default kopieren.
Damit das Default-Module sich dann auch genauso wie jedes andere Modul verhält ist folgende Konfiguration sinnvoll:

resources.frontController.params.prefixDefaultModule = 1

Dadurch verlangt das Zend Framework nun überall den Prefix „Default_„, wie es in anderen Modulen zwingend erforderlich ist.

Aktivieren des Firebug-Loggers für das Logging im Entwicklungssystem/Firefox

Voraussetzung dafür ist ein Firefox mit installiertem Firebug AddOn und FirePHP AddOn.
Danach benötigt man folgende Konfiguration in der application.ini:

resources.log.firebug.writerName = "Firebug"
resources.log.firebug.filterName = "Priority"
resources.log.firebug.filterParams.priority = 7

Diese Zeilen bewirken das Aktivieren des Firebug als Writer für Zend_Log. Außerdem wird der Filter nach „Priority“ aktiviert und alle Log-Meldungen mit dem maximalen Wert 7 (Zend_Log::DEBUG) werden dahin geschrieben. Also faktisch alle Meldungen landen in der Firebug-Konsole.
Je nach Applikationsstufe sollte man hier die Priorität vermindern.
Im Produktionssystem sollte gar nicht in den Firebug geschrieben werden, deshalb sollte die Definition im höchsten Modus in der application.ini definiert werden.

Nützliche Konfigurationsparameter bei Datenbankverbindungen

Verbindung als Standard-Adapter deklarieren:

resources.db.isDefaultTableAdapter = true

Zeichensatz der Verbindung:

resources.db.params.charset = utf8

Profiler nach Firebug schreiben lassen

resources.db.params.profiler.enabled = true
resources.db.params.profiler.class = Zend_Db_Profiler_Firebug