|
|
@@ -1,36 +1,36 @@
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
-<!-- EN-Revision: 21829 -->
|
|
|
-<!-- Reviewed: no -->
|
|
|
+<!-- EN-Revision: 22917 -->
|
|
|
+<!-- Reviewed: 22917 -->
|
|
|
<sect1 id="zend.view.introduction">
|
|
|
<title>Einführung</title>
|
|
|
|
|
|
<para>
|
|
|
<classname>Zend_View</classname> ist eine Klasse für die Verarbeitung des "View" Teils des
|
|
|
- Model-View-Controller Entwurfsmusters. Er existiert, um das View Skript von den Model und
|
|
|
- Controller Skripten zu trennen. Es stellt ein System an Helfern, Ausgabefiltern und
|
|
|
+ Model-View-Controller Entwurfsmusters. Er existiert, um das View-Skript von den Model- und
|
|
|
+ Controller-Skripten zu trennen. Es stellt ein System an Helfern, Ausgabefiltern und
|
|
|
Variablenmaskierung bereit.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_View</classname> ist unabhängig von einem Template System. Du kannst
|
|
|
- <acronym>PHP</acronym> als Template Sprache verwenden oder Instanzen anderer Template
|
|
|
- Systeme erstellen und diese in deinem View Skript verarbeiten.
|
|
|
+ <classname>Zend_View</classname> ist unabhängig von einem Template-System. Du kannst
|
|
|
+ <acronym>PHP</acronym> als Template-Sprache verwenden oder Instanzen anderer Template-
|
|
|
+ Systeme erstellen und diese in deinem View-Skript verarbeiten.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Im Wesentlichen verläuft die Verwendung von <classname>Zend_View</classname> in zwei
|
|
|
- Hauptschritten: 1. Dein Controller Skript erstellt eine Instanz von
|
|
|
+ Im wesentlichen verläuft die Verwendung von <classname>Zend_View</classname> in zwei
|
|
|
+ Hauptschritten: 1. Dein Controller-Skript erstellt eine Instanz von
|
|
|
<classname>Zend_View</classname> und übergibt Variablen an diese Instanz. 2. Der Controller
|
|
|
- teilt <classname>Zend_View</classname> mit, ein bestimmtes View Skript zu verarbeiten. Dabei
|
|
|
- wird die Kontrolle an das View Skript übergeben, welches die Ausgabe erstellt.
|
|
|
+ teilt <classname>Zend_View</classname> mit, ein bestimmtes View-Skript zu verarbeiten. Dabei
|
|
|
+ wird die Kontrolle an das View-Skript übergeben, welches die Ausgabe erstellt.
|
|
|
</para>
|
|
|
|
|
|
<sect2 id="zend.view.introduction.controller">
|
|
|
- <title>Controller Skript</title>
|
|
|
+ <title>Controller-Skript</title>
|
|
|
|
|
|
<para>
|
|
|
- In einem einfachen Beispiel hat dein Controller Skript eine Liste von Buchdaten, die
|
|
|
- von einem View Skript verarbeitet werden sollen. Dieses Controller Skript kann ungefähr
|
|
|
+ In einem einfachen Beispiel hat dein Controller-Skript eine Liste von Buchdaten, die
|
|
|
+ von einem View-Skript verarbeitet werden sollen. Dieses Controller-Skript kann ungefähr
|
|
|
so aussehen:
|
|
|
</para>
|
|
|
|
|
|
@@ -65,13 +65,13 @@ echo $view->render('booklist.php');
|
|
|
<title>View Skript</title>
|
|
|
|
|
|
<para>
|
|
|
- Nun benötigen wir das zugehörige View Skript "booklist.php". Dies ist ein
|
|
|
- <acronym>PHP</acronym> Skript wie jedes andere mit einer Ausnahme: es wird innerhalb der
|
|
|
- <classname>Zend_View</classname> Instanz ausgeführt, was bedeutet, dass Referenzen auf
|
|
|
- $this auf die Eigenschaften und Methoden der <classname>Zend_View</classname> Instanz
|
|
|
+ Nun benötigen wir das zugehörige View-Skript "booklist.php". Dies ist ein
|
|
|
+ <acronym>PHP</acronym>-Skript wie jedes andere mit einer Ausnahme: es wird innerhalb der
|
|
|
+ Instanz <classname>Zend_View</classname> ausgeführt, was bedeutet, dass Referenzen auf
|
|
|
+ $this auf die Eigenschaften und Methoden der Instanz <classname>Zend_View</classname>
|
|
|
weisen. (Variablen, die vom Controller an die Instanz übergeben wurden, sind öffentliche
|
|
|
(public) Eigenschaften der <classname>Zend_View</classname> Instanz). Dadurch kann ein
|
|
|
- sehr einfaches View Skript wie folgt aussehen:
|
|
|
+ sehr einfaches View-Skript wie folgt aussehen:
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -109,7 +109,7 @@ echo $view->render('booklist.php');
|
|
|
<title>Optionen</title>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_View</classname> hat einige Optionen die gesetzt werden können um
|
|
|
+ <classname>Zend_View</classname> hat einige Optionen, die gesetzt werden können, um
|
|
|
das Verhalten deiner View-Skripte zu konfigurieren.
|
|
|
</para>
|
|
|
|
|
|
@@ -136,40 +136,40 @@ base/path/
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <property>encoding</property>: zeigt das Verschlüsseln der Zeichen für die
|
|
|
+ <property>encoding</property>: gibt das Verschlüsseln der Zeichen für die
|
|
|
Verwendung mit <methodname>htmlentities()</methodname>,
|
|
|
- <methodname>htmlspecialchars()</methodname>, und anderen Operationen.
|
|
|
- Standardwert ist ISO-8859-1 (latin1). Kann über
|
|
|
- <methodname>setEncoding()</methodname>, oder die <property>encoding</property>
|
|
|
- Option im Constructor, gesetzt werden.
|
|
|
+ <methodname>htmlspecialchars()</methodname>, und anderen Operationen an.
|
|
|
+ Standardwert ist UTF-8. Kann über
|
|
|
+ <methodname>setEncoding()</methodname>, oder die Option <property>encoding</property>
|
|
|
+ im Constructor, gesetzt werden.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <property>escape</property>: zeigt einen Rückruf welche durch
|
|
|
+ <property>escape</property>: gibt eine Callback-Funktion an, welche durch
|
|
|
<methodname>escape()</methodname> benutzt wird. Kann über
|
|
|
- <methodname>setEscape()</methodname>, oder die <property>escape</property>
|
|
|
- Option im Konstruktor, gesetzt werden.
|
|
|
+ <methodname>setEscape()</methodname>, oder die Option <property>escape</property>
|
|
|
+ im Konstruktor, gesetzt werden.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <property>filter</property>: zeigt einen Filter welcher nach dem Rendern des
|
|
|
+ <property>filter</property>: gibt einen Filter an, welcher nach dem Rendern des
|
|
|
View Skripts verwendet wird. Kann über <methodname>setFilter()</methodname>,
|
|
|
- <methodname>addFilter()</methodname>, oder die <property>filter</property>
|
|
|
- Option im Konstruktor, gesetzt werden.
|
|
|
+ <methodname>addFilter()</methodname>, oder die Option <property>filter</property>
|
|
|
+ im Konstruktor, gesetzt werden.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<property>strictVars:</property> zwingt <classname>Zend_View</classname> Notizen
|
|
|
- und Warnungen auszugeben wenn auf nicht initialisierte View Variablen
|
|
|
+ und Warnungen auszugeben, wenn auf nicht initialisierte View-Variablen
|
|
|
zugegriffen wird. Das kann durch den Aufruf von
|
|
|
<methodname>strictVars(true)</methodname>, oder der Übergabe der
|
|
|
- <property>strictVars</property> Option im Konstruktor, gesetzt werden.
|
|
|
+ Option <property>strictVars</property> im Konstruktor, gesetzt werden.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
@@ -183,26 +183,26 @@ base/path/
|
|
|
Tags: <emphasis><?php</emphasis>. Wir empfehlen auch die <ulink
|
|
|
url="http://us.php.net/manual/en/control-structures.alternative-syntax.php">
|
|
|
alternative Syntax für Kontrollstrukturen</ulink>. Diese sind übliche Abkürzungen
|
|
|
- die Verwendet werden wenn View Skripte geschrieben werden, da Sie Konstrukte
|
|
|
+ die verwendet werden, wenn View-Skripte geschrieben werden, da sie Konstrukte
|
|
|
verständlicher machen, die Anweisungen auf einer einzelnen Zeile belassen und die
|
|
|
Notwendigkeit eleminieren nach Klammern im <acronym>HTML</acronym> zu suchen.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
In vorhergehenden Versionen haben wir oft die Verwendung von Short Tags empfohlen
|
|
|
- (<emphasis><?</emphasis> und <emphasis><?=</emphasis>), da Sie die View Skripte
|
|
|
+ (<emphasis><?</emphasis> und <emphasis><?=</emphasis>), da sie die View-Skripte
|
|
|
weniger kompliziert machen. Trotzdem ist der Standardwert der
|
|
|
- <filename>php.ini</filename> Option <constant>short_open_tag</constant> typischerweise
|
|
|
- in Produktion oder bei Shared Hosts deaktiviert -- was deren Verwendung nicht wicklich
|
|
|
- portabel macht. Wenn man <acronym>XML</acronym> in View Skripten als Template verwendet,
|
|
|
+ <filename>php.ini</filename>-Option <constant>short_open_tag</constant> typischerweise
|
|
|
+ in Produktion oder bei Shared Hosts deaktiviert -- was deren Verwendung nicht wirklich
|
|
|
+ portabel macht. Wenn man <acronym>XML</acronym> in View-Skripten als Template verwendet,
|
|
|
werden Short Open Tags dazu führen das die Prüfung der Templates fehlschlägt.
|
|
|
- Letztendlich, wenn man Short Tags verwendet, wärend <constant>short_open_tag</constant>
|
|
|
+ Letztendlich, wenn man Short Tags verwendet, während <constant>short_open_tag</constant>
|
|
|
ausgeschaltet ist, werden die View Skripte entweder Fehler verursachen oder einfach den
|
|
|
- <acronym>PHP</acronym> Code an den Betrachter zurücksenden.
|
|
|
+ <acronym>PHP</acronym>-Code an den Betrachter zurücksenden.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Wenn man, trotz der Warnungen, Short Tags verwenden will diese aber ausgeschaltet sind,
|
|
|
+ Wenn man trotz der Warnungen Short Tags verwenden will, diese aber ausgeschaltet sind,
|
|
|
hat man zwei Optionen:
|
|
|
</para>
|
|
|
|
|
|
@@ -217,9 +217,9 @@ php_value "short_open_tag" "on"
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Das ist nur dann möglich wenn es erlaubt ist <filename>.htaccess</filename>
|
|
|
+ Das ist nur dann möglich, wenn es erlaubt ist <filename>.htaccess</filename>
|
|
|
Dateien zu erstellen und anzupassen. Diese Direktive kann auch in der
|
|
|
- <filename>httpd.conf</filename> Datei hinzugefügt werden.
|
|
|
+ Datei <filename>httpd.conf</filename> hinzugefügt werden.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
@@ -234,8 +234,8 @@ $view->setUseStreamWrapper(true);
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Das registriert <classname>Zend_View_Stream</classname> als Steam Wrapper für
|
|
|
- View Skripte, und stellt sicher das der Code weiterhin funktioniert wie wenn
|
|
|
+ Das registriert <classname>Zend_View_Stream</classname> als Stream Wrapper für
|
|
|
+ View-Skripte, und stellt sicher, dass der Code weiterhin funktioniert, wie wenn
|
|
|
Short Tags eingeschaltet wären.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
@@ -246,8 +246,8 @@ $view->setUseStreamWrapper(true);
|
|
|
|
|
|
<para>
|
|
|
Die Verwendung des Stream Wrapper <emphasis>wird</emphasis> die Geschwindigkeit der
|
|
|
- Anwendung verringern, auch wenn es nicht möglich ist Benchmarks durchzuführen um
|
|
|
- den Grad der Verlangsamung festzustellen. Wir empfehlen das entweder Short Tags
|
|
|
+ Anwendung verringern, auch wenn es nicht möglich ist, Benchmarks durchzuführen um
|
|
|
+ den Grad der Verlangsamung festzustellen. Wir empfehlen, dass entweder Short Tags
|
|
|
aktiviert werden, die Skripte volle Tags verwenden, oder eine gute Strategie für
|
|
|
das Cachen von partiellen, und/oder volle Seiteninhalten vorhanden ist.
|
|
|
</para>
|
|
|
@@ -260,8 +260,8 @@ $view->setUseStreamWrapper(true);
|
|
|
<para>
|
|
|
Typischerweise ist es nur notwendig <methodname>assign()</methodname>,
|
|
|
<methodname>render()</methodname>, oder eine der Methoden für das Setzen/Hinzufügen von
|
|
|
- Filtern, Helfern und Skript-Pfade aufzurufen. Trotzdem, wenn
|
|
|
- <classname>Zend_View</classname> selbst erweitert werden soll, oder auf einige der
|
|
|
+ Filtern, Helfern und Skript-Pfade aufzurufen. Wenn <classname>Zend_View</classname>
|
|
|
+ trotzdem selbst erweitert werden soll, oder auf einige der
|
|
|
Internas zugegriffen werden soll, existieren hierfür einige Zugriffsmöglichkeiten:
|
|
|
</para>
|
|
|
|
|
|
@@ -282,43 +282,43 @@ $view->setUseStreamWrapper(true);
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getScriptPath($script)</methodname> empfängt den aufgelösten Pfad zu
|
|
|
- einem gegebenen View Skript.
|
|
|
+ <methodname>getScriptPath($script)</methodname> ruft den aufgelösten Pfad zu
|
|
|
+ einem gegebenen View-Skript ab.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getScriptPaths()</methodname> empfängt alle registrierten
|
|
|
- Skript-Pfade.
|
|
|
+ <methodname>getScriptPaths()</methodname> ruft alle registrierten
|
|
|
+ Skript-Pfade ab.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getHelperPath($helper)</methodname> empfängt den aufgelösten Pfad
|
|
|
- zur angegebenen Helferklasse.
|
|
|
+ <methodname>getHelperPath($helper)</methodname> ruft den aufgelösten Pfad
|
|
|
+ zur angegebenen Helferklasse ab.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getHelperPaths()</methodname> empfängt alle registrierten
|
|
|
- Helferpfade.
|
|
|
+ <methodname>getHelperPaths()</methodname> ruft alle registrierten
|
|
|
+ Helferpfade ab.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getFilterPath($filter)</methodname> empfängt den aufgelösten Pfad
|
|
|
- zur angegebenen Filterklasse.
|
|
|
+ <methodname>getFilterPath($filter)</methodname> ruft den aufgelösten Pfad
|
|
|
+ zur angegebenen Filterklasse ab.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <methodname>getFilterPaths()</methodname> empfängt alle registrierten
|
|
|
- Filterpfade.
|
|
|
+ <methodname>getFilterPaths()</methodname> ruft alle registrierten
|
|
|
+ Filterpfade ab.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|