<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 17057 -->
<!-- Reviewed: no -->
<appendix id="requirements" xmlns:xi="http://www.w3.org/2001/XInclude">

    <title>Zend Framework Voraussetzungen</title>

    <sect1 id="requirements.introduction">

        <title>Einführung</title>

        <para>
            Zend Framework benötigt einen <acronym>PHP</acronym> 5 Interpreter mit einem Web Server
            der konfiguriert ist <acronym>PHP</acronym> 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 <acronym>URL</acronym>'s" wie
            "<filename>http://www.example.com/user/edit</filename>" zu implementieren. Wenn
            mod_rewrite nicht aktiviert ist, kann Zend Framework konfiguriert werden um
            <acronym>URL</acronym>'s wie
            "<command>http://www.example.com?controller=user&amp;action=edit</command>" zu
            unterstützen. Hübsche <acronym>URL</acronym>'s können verwendet werden um
            <acronym>URL</acronym>'s zu verkleinern, für textuelle Darstellung oder die Optimierung
            von Suchmaschinen (<acronym>SEO</acronym>), aber sie beeinflussen die Funktionalität
            der Anwendung nicht direkt.
        </para>

        <sect2 id="requirements.version">

            <title>PHP Version</title>

            <para>
                Zend empfiehlt das aktuellste Release von <acronym>PHP</acronym> wegen kritischer
                Sicherheits und Performance Verbesserungen, und unterstützt aktuell
                <acronym>PHP</acronym> 5.2.4 oder höher.
            </para>

            <para>
                Zend Framework hat eine sehr umfangreiche Sammlung von automatisierten Tests, welche
                mit PHPUnit 3.3.0 oder einer späteren Version, ausgeführt werden können.
            </para>

        </sect2>

        <sect2 id="requirements.extensions">

            <title>PHP Erweiterungen</title>

            <para>
                Anbei finden Sie eine Tabelle die alle Erweiterungen auflistet die typischerweise
                in <acronym>PHP</acronym> gefunden werden können und wie Sie im Zend Framework
                verwendet werden. Sie sollten prüfen die Erweiterungen die die Zend Framework
                Komponenten die Sie in Ihrer Anwendung verwenden werden in Ihrer
                <acronym>PHP</acronym> Umgebung vorhanden sind. Viele Anwendungen benötigen nicht
                jede der Erweiterungen die anbei gelistet sind.
            </para>

            <para>
                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.
            </para>

            <xi:include href="requirements-php-extensions-table.xml" />
        </sect2>

        <sect2 id="requirements.zendcomponents">

            <title>Zend Framework Komponenten</title>

            <para>
                Anbei ist eine Tabelle die alle vorhandenen Zend Framework Komponenten auflistet
                und welche <acronym>PHP</acronym> 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.
            </para>

            <para>
                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.
            </para>

            <xi:include href="requirements-zendcomponents-table.xml" />
        </sect2>

        <sect2 id="requirements.dependencies">

            <title>Zend Framework Abhängigkeiten</title>

            <para>
                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.
            </para>

            <para>
                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.
            </para>

            <note>
                <para>
                    Selbst wenn es möglich ist einzelne Komponenten für die Verwendung vom
                    kompletten Zend Framework zu seperieren sollte man trotzdem wissen das das zu
                    Problemen führen kann wenn Dateien fehlen oder Komponenten dynamisch verwendet
                    werden.
                </para>
            </note>

            <xi:include href="requirements-dependencies-table.xml" />
        </sect2>
    </sect1>
</appendix>
<!--
vim:se ts=4 sw=4 et:
-->
