Teil 2: PHP-Frameworks Teil VIII - Zend Framework
- PHP-Frameworks Teil VIII - Zend Framework
- Teil 2: PHP-Frameworks Teil VIII - Zend Framework
- Teil 3: PHP-Frameworks Teil VIII - Zend Framework
- Teil 4: PHP-Frameworks Teil VIII - Zend Framework
- Teil 5: 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:...
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.

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: