| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 15617 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.view.helpers" xmlns:xi="http://www.w3.org/2001/XInclude">
- <title>View Helfer</title>
- <para>
- In deinen View Skripten ist es oft notwendig, bestimmte komplexe Funktionen immer wieder
- auszuführen, z.B. Datum formatieren, Formularelemente erstellen oder Links für Aktionen
- anzuzeigen. Du kannst Helferklassen verwenden, um diese Aufgaben für dich durchführen zu
- lassen.
- </para>
- <para>
- Ein Helfer ist einfach eine Klasse. Nehmen wir an wir wollen einen Helfer der 'fooBar'
- heißt. Standardmäßig wird der Klasse 'Zend_View_Helper_' vorangestellt (Es kann ein
- eigener Prefix definiert werden wenn ein Pfad für die Helfer definiert wird), und das letzte
- Segment des Klassennamens ist der Name des Helfers; Dieses Segment sollte Titel
- Großgeschrieben sein; der volle Klassenname ist dann:
- <classname>Zend_View_Helper_FooBar</classname>. Diese Klasse sollte mindestens eine einzelne
- Methode enthalten, die nach dem Helfer benannt und camelCased ist: <code>fooBar()</code>.
- </para>
- <note>
- <title>Betrachte den Fall</title>
- <para>
- Namen von Helfern sind immer camelCased, bzw. beginnen Sie nie mit einem
- großgeschriebenen Zeichen. Der Klassenname selbst ist MixedCased, aber die Methode die
- aktuell ausgeführt wird ist camelCased.
- </para>
- </note>
- <note>
- <title>Standard Helfer Pfad</title>
- <para>
- Der Standard Helfer Pfad zeigt immer zu den View Helfern des Zend Frameworks,
- normalerweise 'Zend/View/Helper/'. Selbst wenn <code>setHelperPath()</code> ausgerufen
- wird um den existierenden Pfad zu überschreiben, wird dieser Pfad gesetzt um
- sicherzustellen das die Standard Helfer arbeiten.
- </para>
- </note>
- <para>
- Um einen Helfer in deinem View Skript zu verwenden, rufe ihn mittels
- <code>$this->helperName()</code> auf. Im Hintergrund wird <classname>Zend_View</classname>
- die Klasse <classname>Zend_View_Helper_HelperName</classname> laden, eine Objektinstanz der
- Klasse erstellen und deren Methode <code>helperName()</code> aufrufen. Die Objektinstanz
- bleibt innerhalb der <classname>Zend_View</classname> Instanz bestehen und wird bei allen
- weiteren Aufrufen von <code>$this->helperName()</code> wiederverwendet.
- </para>
- <sect2 id="zend.view.helpers.initial">
- <title>Vorhandene Helfer</title>
- <para>
- <classname>Zend_View</classname> enthält bereits einige vorhandene Helferklassen, die
- sich alle auf die Erstellung von Formularelementen beziehen und die notwendige
- Maskierung der Ausgaben automatisch vornehmen. Zusätzlich gibt es Helfer zum Erstellen
- Routen-basierter URLS and HTML Listen, genauso wie für das Deklarieren von Variablen.
- Die aktuell gelieferten Helfer beinhalten:
- </para>
- <itemizedlist>
- <listitem><para>
- <code>declareVars()</code>: Primär benutzt mit <code>strictVars()</code>, kann
- dieser Helfer verwendet werden um template Variablen zu deklarieren welche
- bereits, oder noch nicht, im View Objekt bereits gesetzt sind, sowie auch
- Standard Werte. Arrays welche als Argument dieser Methode übergeben werden, werden
- verwendet um Standard Werte zu setzen; Andernfalls, wenn die Variable nicht
- existiert, wird diese mit einem leeren String gesetzt.
- </para></listitem>
- <listitem><para>
- <code>fieldset($name, $content, $attribs):</code> Erstellt ein XHTML Fieldset.
- Wenn <code>$attribs</code> einen 'legend' Schlüssel enthält, wird der Wert für
- die Fieldset Beschriftung verwendet. Das Fieldset wird <code>$content</code>
- umfassen wie vom Helfer angeboten.
- </para></listitem>
- <listitem><para>
- <code>form($name, $attribs, $content):</code> Erzeugt eine XHTML Form. Alle
- <code>$attribs</code> werden als XHTML Attribute des Form Tags escaped und
- dargestellt. Wenn <code>$content</code> vorhanden und kein boolsches false ist,
- dann wird dieser Inhalt innerhalb der Start und End Form Tags dargestellt werden;
- wenn <code>$content</code> ein boolsches false ist (der Standard), wird nur das
- beginnende Formtag erzeugt.
- </para></listitem>
- <listitem><para>
- <code>formButton($name, $value, $attribs)</code>: Erstellt ein
- <button /> Element.
- </para></listitem>
- <listitem>
- <para>
- <code>formCheckbox($name, $value, $attribs, $options):</code>
- Erstellt ein <input type="checkbox" /> Element.
- </para>
- <para>
- Standardmäßig, wenn kein $value angegeben und keine $options vorhanden sind,
- wird '0' als ungecheckter Wert, und '1' als gecheckter Wert angenommen. Wenn
- ein $value übergeben wird, aber keine $options vorhanden sind, wird der
- gecheckte Wert and der übergebene Wert angenommen.
- </para>
- <para>
- $options sollte ein Array sein. Wenn das Array indiziert ist, ist der erste
- Wert der gecheckte Wert, und der zweite der ungecheckte Wert; alle anderen
- Werte werden ignoriert. Es kann auch ein assoziatives Array mit den Schlüsseln
- 'checked' und 'unChecked' übergeben werden.
- </para>
- <para>
- Wenn $options übergeben wurden und $value mit dem gecheckten Wert
- übereinstimmt, dann wird das Element als gecheckt markiert. Das Element kann
- auch als gecheckt oder ungecheckt markiert werden indem ein boolscher Wert
- für das Attribut 'checked' übergeben wird.
- </para>
- <para>
- Das obige wird möglicherweise am besten mit einigen Beispielen zusammengefasst:
- </para>
- <programlisting language="php"><![CDATA[
- // '1' und '0' als gecheckte/ungecheckte Optionen; nicht gecheckt
- echo $this->formCheckbox('foo');
- // '1' und '0' als gecheckte/ungecheckte Optionen; gecheckt
- echo $this->formCheckbox('foo', null, array('checked' => true));
- // 'bar' und '0' als gecheckte/ungecheckte Optionen; nicht gecheckt
- echo $this->formCheckbox('foo', 'bar');
- // 'bar' und '0' als gecheckte/ungecheckte Optionen; gecheckt
- echo $this->formCheckbox('foo', 'bar', array('checked' => true));
- // 'bar' und 'baz' als gecheckte/ungecheckte Optionen; nicht gecheckt
- echo $this->formCheckbox('foo', null, null, array('bar', 'baz');
- // 'bar' und 'baz' als gecheckte/ungecheckte Optionen; nicht gecheckt
- echo $this->formCheckbox('foo', null, null, array(
- 'checked' => 'bar',
- 'unChecked' => 'baz'
- ));
- // 'bar' und 'baz' als gecheckte/ungecheckte Optionen; gecheckt
- echo $this->formCheckbox('foo', 'bar', null, array('bar', 'baz');
- echo $this->formCheckbox('foo',
- null,
- array('checked' => true),
- array('bar', 'baz');
- // 'bar' und 'baz' als gecheckte/ungecheckte Optionen; nicht gecheckt
- echo $this->formCheckbox('foo', 'baz', null, array('bar', 'baz');
- echo $this->formCheckbox('foo',
- null,
- array('checked' => false),
- array('bar', 'baz');
- ]]></programlisting>
- <para>
- In allen Fällen, wird das Markup einem versteckten Element mit dem
- nicht gecheckten Wert vorangestellt; auf diesem Weg erhält man
- trotzdem einen gültigen Wert von der Form selbst wenn der Wert nicht
- gecheckt wird.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>formErrors($errors, $options):</code> Erzeugt eine ungeordnete XHTML
- Liste und zeigt Fehler an. <code>$errors</code> sollte ein String oder ein
- Array von Strings sein; <code>$options</code> sollte irgendein Attribut sein
- das im beginnenden List Tag platziert werden soll.
- </para>
- <para>
- Es kann alternativer beginnender, schließender und seperierter Inhalt
- spezifiziert werden wenn Fehler dargestellt werden durch aufruf von
- verschiedenen Methoden auf dem Helfer:
- </para>
- <itemizedlist>
- <listitem><para>
- <code>setElementStart($string)</code>; Standard ist
- '<ul class="errors"%s"><li>', wobei %s mit den in
- <code>$options</code> spezifizierten Attributen ersetzt wird.
- </para></listitem>
- <listitem><para>
- <code>setElementSeparator($string)</code>; Standard ist
- '</li><li>'.
- </para></listitem>
- <listitem><para>
- <code>setElementEnd($string)</code>; Standard ist
- '</li></ul>'.
- </para></listitem>
- </itemizedlist>
- </listitem>
- <listitem><para>
- <code>formFile($name, $attribs)</code>: Erstellt ein
- <input type="file" /> Element.
- </para></listitem>
- <listitem><para>
- <code>formHidden($name, $value, $attribs)</code>: Erstellt ein
- <input type="hidden" /> Element.
- </para></listitem>
- <listitem><para>
- <code>formLabel($name, $value, $attribs)</code>: Erstellt ein
- <label> Element, setzt das <code>for</code> Attribut auf
- <code>$name</code>, und den aktuellen Labeltext auf
- <code>$value</code>. Wenn <code>disable</code> an
- <code>attribs</code> übergeben wird, wird nichts zurückgegeben.
- </para></listitem>
- <listitem><para>
- <code>formMultiCheckbox($name, $value, $attribs, $options, $listsep):</code>
- Erstellt eine Liste von Checkboxen. <code>$options</code> sollte ein assoziatives
- Array sein und kann beliebig tief werden. <code>$value</code> kann ein einzelner
- Wert oder ein Array von ausgewählten Werten sein die Schlüsseln im
- <code>$options</code> Array entsprechen. <code>$listsep</code> ist standardmäßig
- ein HTML Break ("<br />"). Standardmäßig wird dieses Element als Array
- behandelt; alle Checkboxen teilen den gleichen Namen, und werden als Array
- übertragen.
- </para></listitem>
- <listitem><para>
- <code>formPassword($name, $value, $attribs)</code>: Erstellt ein
- <input type="password" /> Element.
- </para></listitem>
- <listitem><para>
- <code>formRadio($name, $value, $attribs, $options)</code>: Erstellt eine Reihe von
- <input type="radio" /> Elementen, eine für jeden der $options Elemente.
- Im $options Array ist der Elementschlüssel der Wert und der Elementwert die
- Bezeichnung des Radio-Buttons. Der $value Radiobutton wird für dich vorgewählt.
- </para></listitem>
- <listitem><para>
- <code>formReset($name, $value, $attribs)</code>: Erstellt ein
- <input type="reset" /> Element.
- </para></listitem>
- <listitem><para>
- <code>formSelect($name, $value, $attribs, $options)</code>: Erstellt einen
- <select>...</select> block mit einer <option>one für jedes
- $options Element. Im $options Array ist der Elementschlüssel der Optionswert und
- der Elementwert die Optionsbezeichnung. Die $value Optionen werden für dich
- vorgewählt.
- </para></listitem>
- <listitem><para>
- <code>formSubmit($name, $value, $attribs)</code>: Erstellt ein
- <input type="submit" /> Element.
- </para></listitem>
- <listitem><para>
- <code>formText($name, $value, $attribs)</code>: Erstellt ein
- <input type="text" /> Element.
- </para></listitem>
- <listitem><para>
- <code>formTextarea($name, $value, $attribs)</code>: Erstellt einen
- <textarea>...</textarea> Block.
- </para></listitem>
- <listitem><para>
- <code>url($urlOptions, $name, $reset):</code> Erstelle einen URL String basierend
- auf dem Namen der Route. <code>$urlOptions</code> sollte ein assoziatives Array von
- Schlüßel/Werte Paaren sein, welche bon der speziellen Route verwendet wird.
- </para></listitem>
- <listitem><para>
- <code>htmlList($items, $ordered, $attribs, $escape):</code> erzeugt ungeordnete und
- geordnete Listen welche auf den <code>$items</code> basieren die übergeben wurden.
- Wenn <code>$items</code> ein multidimensionales Array ist, wird eine verschachtelte
- Liste gebaut. Wenn das <code>$escape</code> Flag true ist (standard), werden
- individuelle Abschnitte escaped durch Verwendung des Escaping Mechanismus der im
- View Objekt registriert wurde; ein false Wert wird übergeben wenn Markups in den
- Listen gewünscht werden.
- </para></listitem>
- </itemizedlist>
- <para>
- Die Verwendung dieser Helfer in deinem View Skript ist sehr einfach, hier ist ein
- Beispiel. Beachte, dass du diese Helfer nur aufzurufen brauchst; sie werden automatisch
- geladen und instanziiert, sobald sie benötigt werden.
- </para>
- <programlisting language="php"><![CDATA[
- // Innerhalb deines View Skriptes, verweist $this auf die Zend_View
- // Instanz.
- //
- // Sagen wir, dass du bereits eine Serie von Auswahlwerten der Variable
- // $countries in Form eines Arrays zugewiesen hast
- // ('us' => 'United States', 'il' => 'Israel', 'de' => 'Germany')
- ?>
- <form action="action.php" method="post">
- <p><label>Deine Email:
- <?php echo $this->formText('email', 'you@example.com', array('size' => 32)) ?>
- </label></p>
- <p><label>Dein Land:
- <?php echo $this->formSelect('country', 'us', null, $this->countries) ?>
- </label></p>
- <p><label>Möchtest Du hinzugefügt werden?
- <?php echo $this->formCheckbox('opt_in', 'yes', null, array('yes', 'no')) ?>
- </label></p>
- </form>
- ]]></programlisting>
- <para>
- Die Ausgabe des View Skriptes wird in etwa so aussehen:
- </para>
- <programlisting language="php"><![CDATA[
- <form action="action.php" method="post">
- <p><label>Deine Email:
- <input type="text" name="email" value="you@example.com" size="32" />
- </label></p>
- <p><label>Dein Land:
- <select name="country">
- <option value="us" selected="selected">Amerika</option>
- <option value="il">Israel</option>
- <option value="de">Deutschland</option>
- </select>
- </label></p>
- <p><label>Möchtest Du hinzugefügt werden?
- <input type="hidden" name="opt_in" value="no" />
- <input type="checkbox" name="opt_in" value="yes" checked="checked" />
- </label></p>
- </form>
- ]]></programlisting>
- <xi:include href="Zend_View-Helpers-Action.xml" />
- <xi:include href="Zend_View-Helpers-Cycle.xml" />
- <xi:include href="Zend_View-Helpers-Partial.xml" />
- <xi:include href="Zend_View-Helpers-Placeholder.xml" />
- <xi:include href="Zend_View-Helpers-Doctype.xml" />
- <xi:include href="Zend_View-Helpers-HeadLink.xml" />
- <xi:include href="Zend_View-Helpers-HeadMeta.xml" />
- <xi:include href="Zend_View-Helpers-HeadScript.xml" />
- <xi:include href="Zend_View-Helpers-HeadStyle.xml" />
- <xi:include href="Zend_View-Helpers-HeadTitle.xml" />
- <xi:include href="Zend_View-Helpers-HtmlObject.xml" />
- <xi:include href="Zend_View-Helpers-InlineScript.xml" />
- <xi:include href="Zend_View-Helpers-Json.xml" />
- <xi:include href="Zend_View-Helpers-Navigation.xml" />
- <xi:include href="Zend_View-Helpers-Translate.xml" />
- </sect2>
- <sect2 id="zend.view.helpers.paths">
- <title>Helfer Pfade</title>
- <para>
- Wie bei den View Skripten kann der Controller für <classname>Zend_View</classname> auch
- einen Stapel an Pfaden festlegen, in dem nach Hilfsklassen gesucht werden soll.
- Standardmäßig sucht <classname>Zend_View</classname> in "Zend/View/Helper/*" nach
- Hilfsklassen. Du kannst <classname>Zend_View</classname> mit Hilfe der Methoden
- <code>setHelperPath()</code> und <code>addHelperPath()</code> mitteilen, auch in anderen
- Verzeichnissen zu suchen. Zusätzlich kann man einen Klassenpräfix angeben, um Helfer in
- dem bereit gestellten Pfad verwenden zu können, um eigene Namensräume für die
- Helferklassen zu verwenden. Standardmäßig wird 'Zend_View_Helper_' angenommen, wenn kein
- Präfix angegeben wird.
- </para>
- <programlisting language="php"><![CDATA[
- $view = new Zend_View();
- // Setze den Pfad auf /path/to/more/helpers, mit dem Präfix 'My_View_Helper'
- $view->setHelperPath('/path/to/more/helpers', 'My_View_Helper');
- ]]></programlisting>
- <para>
- Durch Verwendung der <code>addHelperPath()</code> Methode können die Pfade "gestapelt"
- werden. Wenn du Pfade zu diesem Stapelspeicher hinzufügst, wird
- <classname>Zend_View</classname> im zuletzt hinzugefügten Pfad nach der angeforderten
- Hilfsklasse schauen. Dies erlaubt dir, zu den vorhandenen Helfern weitere hinzufügen
- oder diese durch eigene zu ersetzen.
- </para>
- <programlisting language="php"><![CDATA[
- $view = new Zend_View();
- // Füge /path/to/some/helpers mit Klassenpräfix 'My_View_Helper' hinzu
- $view->addHelperPath('/path/to/some/helpers', 'My_View_Helper');
- // Füge /other/path/to/helpers mit Klassenpräfix 'Your_View_Helper' hinzu
- $view->addHelperPath('/other/path/to/helpers', 'Your_View_Helper');
- // wenn nun $this->helperName() aufgerufen wird, wird Zend_View zuerst nach
- // "/path/to/some/helpers/HelperName" mit dem Klassennamen
- // "Your_View_Helper_HelperName", dann nach
- // "/other/path/to/helpers/HelperName.php" mit dem Klassennamen
- // "My_View_Helper_HelperName", und zuletzt nach
- // "Zend/View/Helpers/HelperName.php" mit dem Klassennamen
- // "Zend_View_Helper_HelperName" schauen.
- ]]></programlisting>
- </sect2>
- <sect2 id="zend.view.helpers.custom">
- <title>Eigene Helfer schreiben</title>
- <para>
- Eigene Helfer zu schreiben ist einfach; du mußt nur diese Regeln befolgen:
- </para>
- <itemizedlist>
- <listitem><para>
- Wärend das nicht strikt notwendig ist, ist es empfohlen entweder
- <classname>Zend_View_Helper_Interface</classname> zu implementieren oder
- <classname>Zend_View_Helper_Abstract</classname> zu erweitern wenn eigene Helfer
- erstellt werden. Eingeführt mit 1.6.0, definieren diese einfach die
- <code>setView()</code> Methode; trotzdem, in kommenden Releases, ist es geplant ein
- Strategy Pattern zu implementieren das vieles der Namensschemas einfacher mach wie
- anbei beschrieben. Wenn darauf aufgebaut wird hilft das, das der eigene Code
- Zukunftssicher ist.
- </para></listitem>
- <listitem><para>
- Der Klassenname muss mindestens auf den Helfernamen unter Verwendung der MixedCaps
- selber enden. Wenn du z.B. einen Helfer mit Namen "specialPurpose" schreibst, muss
- der Klassenname mindestens "SpecialPurpose" lauten. Man kann, und sollte, dem
- Klassennamen einen Präfix geben und es wird empfohlen, 'View_Helper' als Teil des
- Präfix zu verwenden: "My_View_Helper_SpecialPurpose" (man muss den Präfix mit oder
- oder abschließenden Unterstrich an <code>addHelperPath()</code> oder
- <code>setHelperPath()</code> übergeben).
- </para></listitem>
- <listitem><para>
- Die Klasse muss eine öffentliche Methode mit dem Namen des Helfers haben. Dies ist
- die Methode, welche vom View Skript durch "$this->specialPurpose()" aufgerufen wird.
- In unserem "specialPurpose" Beispiel, würde die notwendige Deklaration dieser
- Methode "public function specialPurpose()" lauten.
- </para></listitem>
- <listitem><para>
- Im Allgemeinen sollte die Klasse keine Ausgaben durch echo(), print() oder auf
- andere Weise erstellen. Stattdessen sollte es die auszugebenen Werte zurückgeben.
- Die zurückgegebenen Werte sollten entsprechend maskiert werden.
- </para></listitem>
- <listitem><para>
- Diese Klasse muss sich in einer Datei befinden, die nach der Helfermethode benannt
- ist. Bezogen auf unser "specialPurpose" Beispiel, muss der Dateiname
- "SpecialPurpose.php" lauten.
- </para></listitem>
- </itemizedlist>
- <para>
- Platziere die Hilfsklasse irgendwo in deinem Stapelspeicher für Hilfspfade und
- <classname>Zend_View</classname> wird den Helfer automatisch für dich laden,
- instanziieren, speichern und ausführen.
- </para>
- <para>
- Hier ist ein Beispiel für unseren <code>SpecialPurpose</code> Helfer:
- </para>
- <programlisting language="php"><![CDATA[
- class My_View_Helper_SpecialPurpose extends Zend_View_Helper_Abstract
- {
- protected $_count = 0;
- public function specialPurpose()
- {
- $this->_count++;
- $output = "Ich habe 'The Jerk' {$this->_count} Mal(e) gesehen.";
- return htmlspecialchars($output);
- }
- }
- ]]></programlisting>
- <para>
- Dann rufst du in einem View Skript den <code>SpecialPurpose</code> Helfer so oft auf,
- wie du möchtest; er wird einmal instanziiert und bleibt für die Lebensdauer der
- <classname>Zend_View</classname> Instanz bestehen.
- </para>
- <programlisting language="php"><![CDATA[
- // denke daran, dass $this in deinem View Skript auf die
- // Zend_View Instanz verweist.
- echo $this->specialPurpose();
- echo $this->specialPurpose();
- echo $this->specialPurpose();
- ]]></programlisting>
- <para>
- Die Ausgabe wird in etwa so aussehen:
- </para>
- <programlisting language="php"><![CDATA[
- Ich habe 'The Jerk' 1 Mal(e) gesehen.
- Ich habe 'The Jerk' 2 Mal(e) gesehen.
- Ich habe 'The Jerk' 3 Mal(e) gesehen.
- ]]></programlisting>
- <para>
- Hier und da ist es notwendig das aufrufende <classname>Zend_View</classname> Objekt
- aufzurufen -- zum Beispiel, wenn es notwendig ist die registrierte Verschöüsselung zu
- verwenden, oder wenn ein anderes View Skript gerendert werden soll, als Teil des eigenen
- Helfers. Um Zugriff zum View Objekt zu erhalten, sollte die eigene Helfer Klasse eine
- <code>setView($view)</code> Methode wie folgt besitzen:
- </para>
- <programlisting language="php"><![CDATA[
- class My_View_Helper_ScriptPath
- {
- public $view;
- public function setView(Zend_View_Interface $view)
- {
- $this->view = $view;
- }
- public function scriptPath($script)
- {
- return $this->view->getScriptPath($script);
- }
- }
- ]]></programlisting>
- <para>
- Wenn die Helfer Klasse eine <code>setView()</code> Methode hat, wird diese aufgerufen
- wenn die Helfer Klasse das erste Mal instanziert wird, und das aktuelle View Objekt
- übergeben wird. Es liegt an einem selbst das Objekt in der Klasse zu fixieren, genau so
- wie herauszufinden wie auf dieses zugegriffen werden sollte.
- </para>
- <para>
- Wenn <classname>Zend_View_Helper_Abstract</classname> erweitert wird, muß diese Methode
- nicht selbst definiert werden da Sie schon vordefiniert ist.
- </para>
- </sect2>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|