Zend_Tool_Framework-CliTool.xml 13 KB

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