Zend_Tool_Framework-CliTool.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15617 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.tool.framework.clitool">
  5. <title>Verwenden des CLI Tools</title>
  6. <para>
  7. Das CLI, oder Kommandozeilen Tool (Intern als Consolen Tool bekannt), ist aktuell das
  8. primäre Interface für die Bearbeitung von <code>Zend_Tool</code> Anfragen. Mit dem CLI
  9. Tool können Entwickler werkmäßige Anfragen in einem "Kommandozeilen Fenster", allgemein
  10. bekannt als "Terminal", erstellen. Diese Umgebung ist in einer *nix Umgebung vorherrschend,
  11. hat aber auch eine bekannte Implementation in Windows, mit <code>cmd.exe</code>, Console2
  12. und auch dem Cygwin Projekt.
  13. </para>
  14. <sect2 id="zend.tool.framework.clitool.setup-general">
  15. <title>Vorbereiten des CLI Tools</title>
  16. <para>
  17. Um werkmäßige Anfragen über den Kommandozeilen Client zu erstellen, muß man zuerst den
  18. Client einrichten, damit das System das "zf" Kommando behandeln kann. Der Kommandozeilen
  19. Client für alle Wünsche und Zwecke, ust die <code>.sh</code> oder <code>.bat</code>
  20. Datei die mit der Distribution von Zend Framework ausgeliefert wurde. Im Trunk kann sie
  21. hier gefunden werden:
  22. <ulink url="http://framework.zend.com/svn/framework/standard/trunk/bin/">http://framework.zend.com/svn/framework/standard/trunk/bin/</ulink>
  23. </para>
  24. <para>
  25. Wie man siehr gibt es im <code>bin/</code> Verzeichnis 3 Dateien: <code>zf.php</code>,
  26. <code>zf.sh</code> und <code>zf.bat</code>. <code>zf.sh</code> und <code>zf.bat</code>
  27. sind spezielle Client-Wrapper für das Betriebssystem: <code>zf.sh</code> für *nix
  28. Umgebungen, und zf.bat für Win32 Umgebungen. Diese Client-Wrapper sind dafür zuständig
  29. die richtige <code>php.exe</code> und <code>zf.php</code> zu finden, sowie die Anfrage
  30. des Clients weiterzugeben. <code>zf.php</code> ist dafür zuständig die Umgebung zu
  31. verstehen, den richtigen include_path zu erstellen, und das an die richtigen
  32. Komponenten der Bibliothek für die Verarbeitung zu übergeben was über die Kommandozeile
  33. übergeben wurde.
  34. </para>
  35. <para>
  36. Ultimativ muß man zwei Dinge sicherstellen das alles funktioniert, unabhängig davon
  37. auf welchem Betriebssystem man ist:
  38. </para>
  39. <orderedlist>
  40. <listitem>
  41. <para>
  42. <code>zf.sh/zf.bat</code> ist vom Systempfad aus erreichbar. Das ist die
  43. Möglichkeit <code>zf</code> überall von der Kommandozeile aus aufzurufen,
  44. unabhängig davon welches das aktuelle Arbeitsverzeichnis ist.
  45. </para>
  46. </listitem>
  47. <listitem>
  48. <para>
  49. ZendFramework/library ist im eigenen <code>include_path</code>.
  50. </para>
  51. </listitem>
  52. </orderedlist>
  53. <para>
  54. <emphasis>Beachte:</emphasis> wärend das oben stehende die idealsten Voraussetzungen
  55. sind, kann man einfach Zend Framework herunterladen und erwarten das es mit
  56. <code>./path/to/zf.php</code> funktioniert.
  57. </para>
  58. </sect2>
  59. <sect2 id="zend.tool.framework.clitool.setup-starnix">
  60. <title>Das CLI Tool in Unix-artigen Systemen vorbereiten</title>
  61. <para>
  62. Das übliche Setup in einer *nix Umgebung, besteht darin <code>zf.sh</code> und
  63. <code>zf.php</code> in das gleiche Verzeichnis wie die PHP Binaries zu kopieren. Diese
  64. können normalerweise an einem der folgenden Plätze gefunden werden:
  65. </para>
  66. <programlisting language="text"><![CDATA[
  67. /usr/bin
  68. /usr/local/bin
  69. /usr/local/ZendServer/bin/
  70. /Applications/ZendServer/bin/
  71. ]]></programlisting>
  72. <para>
  73. Um den Ort der PHP Binaries herauszufinden, kann man 'which php' auf der Kommandozeile
  74. ausführen. Das gibt den Ort der PHP Binaries zurück, die verwendet werden wenn php
  75. Skripte in der eigenen Umgebung ausgeführt werden.
  76. </para>
  77. <para>
  78. Der nächste Arbeitsschritt besteht darin, sicherzustellen das die Zend Framework
  79. Bibliothek richtig im <code>include_path</code> vom PHP System steht. Um herauszufinden
  80. wo der <code>include_path</code> ist, kann man 'php -i' ausführen und nach der
  81. <code>include_path</code> Variable sehen, oder kompakter einfach
  82. 'php -i | grep include_path' ausführen. Sobald man herausgefunden hat wo die
  83. <code>include_path</code> Variable steht (das ist normalerweise etwas wie
  84. /usr/lib/php, /usr/share/php, /usr/local/lib/php, oder ähnliches), muß man
  85. sicherstellen das der Inhalt des library/ Verzeichnisses im spezifizierten Verzeichnis
  86. des <code>include_path</code>'s abgelegt sind.
  87. </para>
  88. <para>
  89. Sobald man diese zwei Dinge getan hat, sollte man in der Lage sein ein Kommando
  90. auszuführen und die richtige Antwort, ähnlich der folgenden, zurückzugekommen:
  91. </para>
  92. <para>
  93. <inlinegraphic scale="100" align="center" valign="middle"
  94. fileref="figures/zend.tool.framework.cliversionunix.png" format="PNG" />
  95. </para>
  96. <para>
  97. Wenn man diese Art der Ausgabe nicht sieht, muß man zurückgehen und das Setup prüfen
  98. um sicherzustellen das alle notwendigen Teile am richtigen Platz stehen.
  99. </para>
  100. <para>
  101. Es gibt eine Anzahl von alternativen Setup die man eventuell verwenden will, abhängig
  102. von der Server Konfiguration, dem Zugriffslevel, oder aus anderen Gründen.
  103. </para>
  104. <para>
  105. <emphasis>ALTERNATIVE SETUP</emphasis> bedeutet das der Zend Framework Download so wie
  106. er ist zusammenbleibt, und ein Link von einem PATH Ort zur Datei <code>zf.sh</code>
  107. erstellt wird. Das bedeutet das man den Inhalt des ZendFramework Downloads an einem
  108. Ort wie <code>/usr/local/share/ZendFramework</code>, oder noch lokaler wie
  109. <code>/home/username/lib/ZendFramework</code> platzieren kann, und einen Symbolischen
  110. Link zu <code>zf.sh</code> erstellt.
  111. </para>
  112. <para>
  113. Angenommen man will den Link nach <code>/usr/local/bin</code> geben (das könnte auch
  114. funktionieren wenn der Link in <code>/home/username/bin/</code> platziert werden soll),
  115. dann könnte man ein Kommando ähnlich dem folgenden ausführen:
  116. </para>
  117. <programlisting language="sh"><![CDATA[
  118. ln -s /usr/local/share/ZendFramework/bin/zf.sh /usr/local/bin/zf
  119. # ODER (zum Beispiel)
  120. ln -s /home/username/lib/ZendFramework/bin/zf.sh /home/username/bin/zf
  121. ]]></programlisting>
  122. <para>
  123. Das erstellt einen Link den man global von der Kommandozeile aus aufrufen können
  124. sollte.
  125. </para>
  126. </sect2>
  127. <sect2 id="zend.tool.framework.clitool.setup-windows">
  128. <title>Das CLI Tool in Windows vorbereiten</title>
  129. <para>
  130. Das üblichste Setup in einer Windows Win32 Umgebung besteht darin, <code>zf.sh</code>
  131. und <code>zf.php</code> in das gleiche Verzeichnis wie die PHP Binaries zu kopieren.
  132. Diese können generell an einem der folgenden Plätze gefunden werden:
  133. </para>
  134. <programlisting language="text"><![CDATA[
  135. C:\PHP
  136. C:\Program Files\ZendServer\bin\
  137. C:\WAMP\PHP\bin
  138. ]]></programlisting>
  139. <para>
  140. Man sollte in der Lage sein <code>php.exe</code> auf der Kommandozeile auszuführen.
  141. Wenn man das nicht kann, muß man zuerst die Dokumentation prüfen die mit der PHP
  142. Distribution gekommen ist, oder sicherstellen das der Pfad zu php.exe in der
  143. Windows Umgebungsvariable PATH vorhanden ist.
  144. </para>
  145. <para>
  146. Der nächste Arbeitsschritt besteht darin, sicherzustellen das die Zend Framework
  147. Bibliothek richtig im <code>include_path</code> vom PHP System steht. Um herauszufinden
  148. wo der <code>include_path</code> ist, kann man 'php -i' ausführen und nach der
  149. <code>include_path</code> Variable sehen, oder kompakter einfach
  150. 'php -i | grep include_path' ausführen wenn Cygwin mit grep zur Verfügung steht.
  151. Sobald man herausgefunden hat wo die <code>include_path</code> Variable steht (das ist
  152. normalerweise etwas wie <code>C:\PHP\pear</code>, <code>C:\PHP\share</code>,
  153. <code>C:\Program Files\ZendServer\share</code> oder ähnliches), muß man
  154. sicherstellen das der Inhalt des library/ Verzeichnisses im spezifizierten Verzeichnis
  155. des <code>include_path</code>'s abgelegt sind.
  156. </para>
  157. <para>
  158. Sobald man diese zwei Dinge getan hat, sollte man in der Lage sein ein Kommando
  159. auszuführen und die richtige Antwort, ähnlich der folgenden, zurückzugekommen:
  160. </para>
  161. <para>
  162. <inlinegraphic scale="100" align="center" valign="middle"
  163. fileref="figures/zend.tool.framework.cliversionwin32.png" format="PNG" />
  164. </para>
  165. <para>
  166. Wenn man diese Art der Ausgabe nicht sieht, muß man zurückgehen und das Setup prüfen
  167. um sicherzustellen das alle notwendigen Teile am richtigen Platz stehen.
  168. </para>
  169. <para>
  170. Es gibt eine Anzahl von alternativen Setup die man eventuell verwenden will, abhängig
  171. von der Server Konfiguration, dem Zugriffslevel, oder aus anderen Gründen.
  172. </para>
  173. <para>
  174. <emphasis>ALTERNATIVE SETUP</emphasis> bedeutet das der Zend Framework Download so wie
  175. er ist zusammenbleibt, und sowohl die Systemvariable PATH als auch die
  176. <code>php.ini</code> Datei geändert werden muss. In der Umgebung des Benutzers muss man
  177. sicherstellen das <code>C:\Path\To\ZendFramework\bin</code> hinzugefügt ist, damit die
  178. Datei <code>zf.bat</code> ausgeführt werden kann. Auch die Datei <code>php.ini</code>
  179. ist zu änder um sicherzustellen das <code>C:\Path\To\ZendFramework\library</code> im
  180. <code>include_path</code> ist.
  181. </para>
  182. </sect2>
  183. <sect2 id="zend.tool.framework.clitool.setup-othernotes">
  184. <title>Andere Überlegungen für ein Setup</title>
  185. <para>
  186. Wenn man aus bestimmten Gründen die Zend Framework Bibliothek nicht im
  187. <code>include_path</code> haben will, gibt es auch eine andere Option. Es gibt auch
  188. zwei spezielle Umgebungsvariablen die <code>zf.php</code> verwendet um den Ort der
  189. Installation vom Zend Framework zu erkennen.
  190. </para>
  191. <para>
  192. Der erste ist <code>ZEND_TOOL_INCLUDE_PATH_PREPEND</code>, welcher den Wert dieser
  193. Umgebungsvariablen dem <code>include_path</code> des Systems (<code>php.ini</code>)
  194. voranstellt, bevor der Client geladen wird.
  195. </para>
  196. <para>
  197. Alternativ kann es gewünscht sein <code>ZEND_TOOL_INCLUDE_PATH</code> zu verwenden,
  198. um den <code>include_path</code> des System komplett zu <emphasis>ersetzen</emphasis>,
  199. wenn das speziell für das <code>zf</code> Kommandozeilen Tool Sinn macht.
  200. </para>
  201. </sect2>
  202. <sect2 id="zend.tool.framework.clitool.continuing">
  203. <title>Wohin als nächstes?</title>
  204. <para>
  205. An diesem Punkt sollte man dafür gerüstet sein einige "interessantere" Kommandos
  206. zu initialisieren. Um weiterzumachen kann man das Kommando <code>zf --help</code>
  207. ausführen um zu sehen was vorhanden ist.
  208. </para>
  209. <para>
  210. <inlinegraphic scale="100" align="center" valign="middle"
  211. fileref="figures/zend.tool.framework.clihelp.png" format="PNG" />
  212. </para>
  213. <para>
  214. Lesen Sie bei <code>Zend_Tool_Project</code> im Kapitel "Create Project" weiter um
  215. zu verstehen wie das <code>zf</code> Skript für die Projekterstellung verwendet werden
  216. kann.
  217. </para>
  218. </sect2>
  219. </sect1>