[MANUAL] German:
[zend.git] / documentation / manual / de / module_specs / Zend_Tool_Framework-Extending.xml
bloba82c47fe15aa8969f29177949793069922d890b8
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 21740 -->
3 <!-- Reviewed: no -->
4 <sect1 id="zend.tool.framework.extending">
5     <title>Extending and Configuring Zend_Tool_Framework</title>
7     <sect2 id="zend.tool.framework.console-client">
8         <title>Anpassen des Zend_Tool Konsolen Clients</title>
10         <para>
11             Mit Zend Framework 1.9 erlaubt es <classname>Zend_Tool_Framework</classname> Entwicklern
12             Informationen zu Speichern, Provider spezifische Konfigurationswerte, und eigene Dateien
13             an einem speziellen Ort auf der Entwicklermaschine. Diese Konfigurationswerte und
14             Dateien können von Providern verwendet werden um Funktionalität zu erweitern, sie
15             anzupassen, oder aus einem anderen Grund welcher dem Provider passt.
16         </para>
18         <para>
19             Der primäre Zwecke, und der warscheinlich wichtigste der von existierenden Providern
20             verwendet wird, besteht darin es Entwicklern zu erlauben den Weg wie die
21             "out of the box" Provider funktionieren zu verändern.
22         </para>
24         <para>
25             Eines der üblichsten angefragten Features ist es, in der Lage zu sein
26             <classname>Zend_Tool_Project</classname>'s Projekt Provider eigene Projekt Profile
27             anzubieten. Das würde es Entwicklern erlauben ein eigenes Profil an einem speziellen
28             Platz zu speichern, der wiederholt vom <classname>Zend_Tool</classname> System verwendet
29             werden kann um eigene Profile zu erstellen. Ein anderes üblicherweise angefragtes
30             Feature ist es in der Lage zu sein das Verhalten von Providern mit
31             Konfigurationseinstellungen zu verändern. Um das zu tun benötigen wir nicht nur eine
32             <classname>Zend_Tool</classname> Konfigurationsdatei, sondern auch einen Ort an dem wir
33             diese Konfigurationsdatei finden können.
34         </para>
36         <sect3 id="zend.tool.framework.console-client.home-directory">
37             <title>Das Home Verzeichnis</title>
39             <para>
40                 Bevor der Konsolen Client beginnen kann nach einer <classname>Zend_Tool</classname>
41                 Konfigurationsdatei zu suchen, oder einem lokalen Speicherverzeichnis, muß er
42                 zuerst in der Lage sein zu erkennen wo das "Home Verzeichnis" liegt.
43             </para>
45             <para>
46                 Auf *nix basierten Maschinen, wird <acronym>PHP</acronym> mit einer
47                 Umgebungsvariable die <constant>HOME</constant> heißt, und dem Pfad zum Home
48                 Verzeichnis des aktuellen Benutzers, bekannt gegeben. Typischerweise ist dieser
49                 Pfad ähnlich wie <filename>/home/myusername</filename>.
50             </para>
52             <para>
53                 Auf Windows basierten Maschinen, wird <acronym>PHP</acronym> typischerweise mit
54                 einer Umgebungsvariable die <constant>HOMEPATH</constant> heißt, und dem Pfad zum
55                 Home Verzeichnis des aktuellen Benutzers, bekannt gegeben. Das Verzeichnis kann
56                 normalerweise, entweder unter
57                 <filename>C:\Documents and Settings\Username\</filename>, oder bei Vista unter
58                 <filename>C:\Users\Username</filename> gefunden werden.
59             </para>
61             <para>
62                 Wenn entweder das Home Verzeichnis nicht gefunden werden kann, oder man den Ort an
63                 dem der <classname>Zend_Tool_Framework</classname> Konsolen Client das Home
64                 Verzeichnis findet, ändern will kann man eine Umgebungsvariable die
65                 <constant>ZF_HOME</constant> heißt angeben um zu spezifizieren wo das Home
66                 Verzeichnis gefunden werden kann.
67             </para>
68         </sect3>
70         <sect3 id="zend.tool.framework.console-client.local-storage">
71             <title>Lokaler Speicher</title>
73             <para>
74                 Sobald das Home Verzeichnis gefunden werden kann, kann
75                 <classname>Zend_Tool_Framework</classname>'s Konsolen Client entweder das lokale
76                 Speicher Verzeichnis automatisch erkennen, oder es kann Ihm mitgeteilt werden wo
77                 das lokale Speicherverzeichnis erwartet wird.
78             </para>
80             <para>
81                 Angenommen das Home Verzeichnis wurde gefunden (hier als <varname>$HOME</varname>
82                 bezeichnet), dann wird der Konsolen client nach dem lokalen Speicherverzeichnis
83                 unter <filename>$HOME/.zf/</filename> nachsehen. Wenn es gefunden wird, dann wird
84                 das lokale Speicherverzeichnis auf diesen Ort gesetzt.
85             </para>
87             <para>
88                 Wenn das Verzeichnis nicht gefunden werden kann, oder der Entwickler den Ort
89                 überschreiben will, kann man das durch Setzen einer Umgebungsvariable durchführen.
90                 Unabhängig davon ob <varname>$HOME</varname> vorher gesetzt wurde, kann der
91                 Entwickler die Umgebungsvariable <constant>ZF_STORAGE_DIR</constant> anbieten.
92             </para>
94             <para>
95                 Sobald der Pfad zu einem lokalen Speicherverzeichnis gefunden wurde,
96                 <emphasis>muss</emphasis> das Verzeichnis existieren damit es an die
97                 <classname>Zend_Tool_Framework</classname> Runtime übergeben werden kann, da dieses
98                 für Sie nicht erstellt wird.
99             </para>
100         </sect3>
102         <sect3 id="zend.tool.framework.console-client.configuration-file">
103             <title>Benutzer Konfiguration</title>
105             <para>
106                 Wie beim lokalen Speicher kann <classname>Zend_Tool_Framework</classname>'s
107                 Konsolen Client, sobald ein Home Verzeichnis gefunden wurde, entweder versuchen den
108                 Pfad zu einer Konfigurationsdatei autoamtisch zu erkennen, oder es kann Ihm ganz
109                 spezifisch gesagt werden wo die Konfigurationsdatei gefunden werden kann.
110             </para>
112             <para>
113                 Angenommen das Home Verzeichnis wurde gefunden (hier als <varname>$HOME</varname>
114                 bezeichnet), dann wird der Konsolen Client versuchen nach der Existenz einer
115                 Konfigurationsdatei zu sehen die in <filename>$HOME/.zf.ini</filename> liegt.
116                 Diese Datei wird, wenn Sie gefunden wurde, als Konfigurationsdatei für
117                 <classname>Zend_Tool_Framework</classname> verwendet.
118             </para>
120             <para>
121                 Wenn der Ort nicht existiert, aber das lokale Speicherverzeichnis, dann wird der
122                 Konsolen Client versuchen die Konfigurationsdatei im lokalen Speicherverzeichnis zu
123                 finden. Angenommen das lokale Speicherverzeichnis existiert in
124                 <varname>$LOCAL_STORAGE</varname>, und eine Datei existiert als
125                 <filename>$LOCAL_STORAGE/zf.ini</filename>, dann wird diese vom Konsolen Client
126                 gefunden und als <classname>Zend_Tool_Framework</classname> Konfigurationsdatei
127                 verwendet.
128             </para>
130             <para>
131                 Wenn die Datei nicht automatisch erkannt werden kann, oder der Entwickler den Ort
132                 der Konfigurationsdatei spezifizieren will, kann er das durch Setzen einer
133                 Umgebungsvariable tun. Wenn die Umgebungsvariable
134                 <constant>ZF_CONFIG_FILE</constant> gesetzt ist, dann wird dieser Wert als Ort der
135                 Konfigurationsdatei verwendet die mit dem Konsolen Client zu verwenden ist.
136                 <constant>ZF_CONFIG_FILE</constant> kann auf irgendeine INI, XML oder
137                 <acronym>PHP</acronym> Datei zeigen die Zend_Config lesen kann.
138             </para>
140             <para>
141                 Wenn die Datei weder an der automatisch erkannten, noch an der angegebenen Position
142                 existiert, dann wird Sie nicht verwendet da
143                 <classname>Zend_Tool_Framework</classname> nicht versucht diese Datei automatisch
144                 zu erstellen.
145             </para>
146         </sect3>
148         <sect3 id="zend.tool.framework.console-client.configuration-content">
149             <title>Inhalt der Benutzer Konfigurationsdatei</title>
151             <para>
152                 Die Konfigurationdatei sollte als <classname>Zend_Config</classname>
153                 Konfigurationdatei, im Ini format, strukturiert sein und ohne zusätzliche definierte
154                 Sektionen. Schlüssel des ersten Levels sollten vom Provider verwendet werden um nach
155                 einem speziellen Wert zu suchen. Wenn der "Project" Provider zum Beispiel ein
156                 "profiles" Verzeichnis erwartet, dann sollte typischerweise darunter verstanden
157                 werden das er im folgenden Schlüssel Wertpaar gesucht wird:
158             </para>
160             <programlisting language="php"><![CDATA[
161 project.profile = irgendein/pfad/zu/irgendeinem-verzeichnis
162 ]]></programlisting>
164             <para>
165                 Der einzige reservierte Ini Präfix ist der Wert "php". Der "php" Präfix für Werte
166                 ist reserviert um Namen und Werte, von wärend der Laufzeit setzbaren
167                 <acronym>PHP</acronym> Werte, zu setzen, wie <property>include_path</property> oder
168                 <property>error_reporting</property>. Um <property>include_path</property> oder
169                 <property>error_reporting</property> mit einem Ini Wert zu überschreiben, würde ein
170                 Entwickler folgendes setzen:
171             </para>
173             <programlisting language="php"><![CDATA[
174 php.include_path = "/path/to/includes1:/path/to/includes2"
175 php.error_reporting = 1
176 ]]></programlisting>
178             <important>
179                 <para>
180                     Der reservierte Prefix "php" funktioniert nur mit INI Dateien. Man kann
181                     <acronym>PHP</acronym> INI Werte nicht in <acronym>PHP</acronym> oder XML
182                     Konfigurationen setzen.
183                 </para>
184             </important>
185         </sect3>
186     </sect2>
187 </sect1>