Zend Framework Voraussetzungen
Einführung
Zend Framework benötigt einen PHP 5 Interpreter mit einem Web Server
der konfiguriert ist PHP Skripte korrekt handzuhaben. Einige
Features benötigen zusätzliche Erweiterungen oder Features des Web Servers; in den
meisten Fällen kann der Framewrok ohne diese verwendet werden, was aber zu geringerer
Performance führen kann, oder dazu das bestimmte Features nicht vollständig
funktionieren. Ein Beispiel solch einer Abhängigkeit ist mod_rewrite in einer Apache
Umgebung, welches verwendet werden kann um "hübsche URL's" wie
"http://www.example.com/user/edit" zu implementieren. Wenn
mod_rewrite nicht aktiviert ist, kann Zend Framework konfiguriert werden um
URL's wie
"http://www.example.com?controller=user&action=edit" zu
unterstützen. Hübsche URL's können verwendet werden um
URL's zu verkleinern, für textuelle Darstellung oder die Optimierung
von Suchmaschinen (SEO), aber sie beeinflussen die Funktionalität
der Anwendung nicht direkt.
PHP Version
Zend empfiehlt das aktuellste Release von PHP wegen kritischer
Sicherheits und Performance Verbesserungen, und unterstützt aktuell
PHP 5.2.11 oder höher.
Zend Framework hat eine sehr umfangreiche Sammlung von automatisierten Tests, welche
mit PHPUnit 3.4.15 oder einer späteren Version, ausgeführt werden können.
PHP Erweiterungen
Anbei finden Sie eine Tabelle die alle Erweiterungen auflistet die typischerweise
in PHP gefunden werden können und wie Sie im Zend Framework
verwendet werden. Sie sollten prüfen die Erweiterungen welche die Zend Framework
Komponenten die Sie in Ihrer Anwendung verwenden werden in Ihrer
PHP Umgebung vorhanden sind. Viele Anwendungen benötigen nicht
jede der Erweiterungen die anbei gelistet sind.
Eine Abhängigkeit des Typs "hard" zeigt das die Komponente oder Klasse nicht richtig
funktioniert wenn die entsprechende Erweiterung nicht vorhanden ist, wärend eine
Abhängigkeit des Typs "soft" anzeigt das die Komponente die Erweiterung verwenden
kann wenn Sie vorhanden ist, aber auch ohne Sie korrekt funktionieren wird. Viele
Komponenten verwenden bestimmte Erweiterungen wenn Sie vorhanden sind um die
Performance zu optimieren werden aber Code mit ähnlicher Funktionalität in der
Komponente selbst ausführen wenn die Erweiterung nicht vorhanden ist.
Zend Framework Komponenten
Anbei ist eine Tabelle die alle vorhandenen Zend Framework Komponenten auflistet
und welche PHP Erweiterungen diese benötigen. Das kann helfen
um herauszufinden welche Erweiterung in der eigenen Anwendung benötigt wird. Nicht
alle Erweiterungen welche vom Zend Framework verwendet werden sind für jede
Anwendung notwendig.
Eine Abhängigkeit des Typs "hard" zeigt das die Komponente oder Klasse nicht richtig
funktioniert wenn die entsprechende Erweiterung nicht vorhanden ist, wärend eine
Abhängigkeit des Typs "soft" anzeigt das die Komponente die Erweiterung verwenden
kann wenn Sie vorhanden ist, aber auch ohne Sie korrekt funktionieren wird. Viele
Komponenten verwenden bestimmte Erweiterungen wenn Sie vorhanden sind um die
Performance zu optimieren werden aber Code mit ähnlicher Funktionalität in der
Komponente selbst ausführen wenn die Erweiterung nicht vorhanden ist.
Zend Framework Abhängigkeiten
Anbei kann eine Tabelle gefunden werden in der die Zend Framework Komponenten
aufgelistet sind und deren Abhängigkeit zu anderen Zend Framework Komponenten. Das
kann helfen wenn man nur einzelne Komponenten verwenden will statt den kompletten
Zend Framework.
Eine Abhängigkeit vom Typ "hard" zeigt das die Komponente oder Klasse nicht richtig
funktionieren kann wenn die entsprechende Komponente nicht vorhanden ist, wärend
eine Abhängigkeit vom Typ "soft" anzeigt das die Komponente in speziellen Fällen
oder in speziellen Adaptern die anhängige Komponente verwenden kann. Andererseits
zeigt eine Abhängigkeit von Typ "fix" an das diese Komponente oder Klasse in jedem
Fall von einer Unterkomponente verwendet wird, und eine Abhängigkeit von Typ "sub"
zeigt an das diese Komponente von einer Unterkomponente in speziellen Situationen
oder mit speziellen Adaptern verwendet werden könnte.
Selbst wenn es möglich ist einzelne Komponenten für die Verwendung vom
kompletten Zend Framework zu seperieren sollte man trotzdem wissen dass dies zu
Problemen führen kann wenn Dateien fehlen oder Komponenten dynamisch verwendet
werden.