| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?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>
|