<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="learning.plugins.intro">
    <title>Einführung</title>

    <para>
        Zend Framework verwendet sehr stark Plugin Architekturen. Plugins erlauben eine einfache
        Erweiterung und Anpassung vom Framework wärend der eigene Code vom Zend Framework Code
        seperiert bleibt.
    </para>

    <para>
        Typischerweise arbeiten Plugins im Zend Framework wie folgt:
    </para>

    <itemizedlist>
        <listitem>
            <para>
                Plugins sind Klassen. Die aktuelle Klassendefinition ist unterschiedlich basierend
                auf der Komponente -- man muss eine abstrakte Klasse erweitern oder ein Interface
                implementieren, aber der Fakt bleibt bestehen dass das Plugin selbst eine Klasse
                ist.
            </para>
        </listitem>

        <listitem>
            <para>
                Zusammengehörende Plugins teilen sich einen gemeinsamen Klassenpräfix. Zum Beispiel
                wenn man eine Anzahl von View Helfern erstellt, könnten alle den Klassenpräfix
                "<classname>Foo_View_Helper_</classname>" teilen.
            </para>
        </listitem>

        <listitem>
            <para>
                Alles nach dem gemeinsamen Präfix wird als <emphasis>Name des Plugins</emphasis>
                oder <emphasis>Kurzname</emphasis> angenommen (gegenüber dem "langen Namen" welcher
                der komplette Klassenname ist). Wenn der Plugin Präfix zum Beispiel
                "<classname>Foo_View_Helper_</classname>" ist, und der Klassenname
                "<classname>Foo_View_Helper_Bar</classname>", dann wird der Name des Plugins einfach
                "<classname>Bar</classname>" sein.
            </para>
        </listitem>

        <listitem>
            <para>
                Namen von Plugins sind typischerweise abhängig von der Schreibweise. Ein Nachteil
                ist, das der initiale Buchstabe ost entweder klein- oder großgeschrieben ist; in
                unserem vorherigen Beispiel würden beide, sowohl "bat" als auch "Bar" auf das
                gleiche Plugin verweisen.
            </para>
        </listitem>
    </itemizedlist>

    <para>
        Jetzt sehen wir uns die Verwendung von Plugins an.
    </para>
</sect1>
