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

Cover Internet Magazin 6/2010
Praxis-Knowhow für Web-Profis

Ab dem 14. Mail finden Sie die neue Ausgabe des Internet Magazins mit folgenden Themen am Kiosk: Wordpress als CMS einsetzen: Stabil, ausgereift,…
Inhaltsverzeichnis Internet Magazin 7/2010
Praxis-Knowhow für Web-Profis

Ab dem 14. Mail finden Sie die neue Ausgabe des Internet Magazins mit folgenden Themen am Kiosk: HTML5 & CSS3 schon jetzt: Alle neuen Features ohne…
Mobile Webseiten mit jQuery Mobile
Design für Smartphones

Sie wollen eine mobile Webseite oder App erstellen? jQuery Mobile bietet Funktionen und Optik, die für die mobile Nutzung unverzichtbar sind. Zudem…
Mobile Webseiten mit jQuery Mobile
Design für Smartphones

Sie wollen Ihre mobile Webseite übersichtlich gestalten? Wir zeigen Ihnen, wie Sie mit jQuery Mobile ganz einfach Listen, Buttons und eine…
Mobile Webseiten mit jQuery Mobile
Design für Smartphones

Sie wollen Ihrer mobilen Webseite ein individuelles Aussehen geben oder beim Laden der Seite eine Meldung anzeigen lassen? Wir zeigen Ihnen, wie Sie…
News
Video
SciFi-Action mit Ryan Gosling und Harrison Ford
Video
Agatha-Christie-Verfilmung mit Johnny Depp
Video
Kinostart: 23.11.2017