PHP Alleskönner

Teil 2: PHP-Frameworks Teil VIII - Zend Framework

Im public-Verzeichnis müssen Sie an derindex. php Hand anlegen, wenn Sie etwa die Verzeichnisnamen und Beziehungen zum application-Verzeichnis ändern möchten. Dazu ändern Sie die Konstante APPLICATION_ PATH:

defined('APPLICATION_PATH')
|| define('APPLICATION_PATH',
realpath(dirname(__FILE__) . '/../application'));

Auch den include_path zum library-Verzeichnis können Sie hier setzen:

set_include_path(implode(PATH_
SEPARATOR, array(
realpath(APPLICATION_PATH . '/../
library'),
get_include_path(),
)));

Nachdem alle Pfade gesetzt sind und auch der Entwicklungsstatus gesetzt ist, wird in der index.php eine neue Zend_Application gestartet.

MVC

Alle weiteren Änderungen passieren im application-Verzeichnis. Zentral ist hier die Datei Bootstrap.php. Sie sorgt für das Routing, sprich, hier müssten Sie angeben, wenn Sie Controller an anderen Orten als dem Standardverzeichnis application/controllers/ anlegen wollten. Aktuell kann die Datei allerdings leer bleiben.

PHP-Frameworks Teil VIII - Zend Framework

© Archiv

Nicht auffindbar: Wenn Sie eine solche Meldung sehen, findet die Anwendung nicht die Zend-Framework-Bibliothek.

Die Konfiguration erfolgt über application/configs/application.ini. Konfigurationsdateien sind im Zend Framework so aufgebaut wie die php.ini. Das heißt, der Befehl kommt zuerst, dann folgt der Wert. Hier ein Ausschnitt, der die Links auf die entsprechenden Pfade für Bootstrap.php und auch das Controller-Verzeichnis enthält:

[production]
phpSettings.display_startup_
errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_
PATH "/../library"
bootstrap.path = APPLICATION_
PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.
controllerDirectory = APPLICATION_PATH "/controllers"

Datenanschluss

Für den Datenanschluss ist bisher nur ein Verzeichnis models angelegt. Um aber unsere Framework-Tabellen aus der aus den früheren Teilen bekannten frameworks-Datenbank auszulesen, benötigen Sie zuerst die Datenbankverbindung. Fügen Sie dazu zur [production]-Sektion in der application. ini die folgenden Zeilen hinzu:

resources.db.adapter = "pdo_mysql"
resources.db.params.host =
"localhost"
resources.db.params.username = "user"
resources.db.params.password =
"passwort"
resources.db.params.dbname =
"frameworks"

Die Datenbank-Daten müssen Sie natürlich noch auf die Werte in Ihrer Testumgebung ändern. Der Adapter gibt an, welche Art der Datenbank angesprochen wird. Hier ist es MySQL über die vom Zend Framework verwendete Datenbankabstraktion PDO.

Eine weitere Vorbereitungsmaßname ist nötig: Teile von Anwendungen wie Models stehen im Zend Framework immer in einem Kontext. Sie sind sogenannte Module. Das heißt, ein Model muss ein Modulprefix besitzen. Standardmäßig wird dafür Default verwendet. Der Sinn der Übung ist, dass Module, wenn Sie das Prefix besitzen, automatisch geladen werden können. Dazu verwenden Sie eine Methode _initAutoload() in der Bootstrap-Klasse in Bootstrap.php:

Mehr zum Thema

Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
Amazon Blitzangebote
Technik-Deals

Die Highlights der Amazon Blitzangebote - heute mit Weihnachts-Angebote-Woche, YI 4K Actioncam, Samsung TV-Testsieger und mehr.
Tipps zum leisen PC
Tipps und Tricks

Die Komponenten eines PCs erzeugen Hitze. Lüfter sorgen meist für eine lästige Geräuschkulisse. Mit unseren Tricks wird Ihr PC flüsterleise.
SSD Mythen Tipps
Solid State Disk

SSD-Tuning - was ist wahr, was ist falsch? Wir verraten, welche SSD-Mythen Sie vergessen können und welche Tipps wirklich helfen.
Urlaubsbilder
Fotografieren im Sommer

Von Sommerlicht bis Sonnernuntergang: Unsere 7 Tipps verraten, wie Sie Urlaubsfotos richtig machen und schöne Bilder mit nachhause bringen.