|
|
@@ -8,191 +8,202 @@
|
|
|
<title>Übersicht über Zend_Tool</title>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Tool_Framework</classname> is a framework for exposing common
|
|
|
- functionalities such as the creation of project scaffolds, code
|
|
|
- generation, search index generation, and much more. Functionality may be
|
|
|
- written and exposed via <acronym>PHP</acronym> classes dropped into the
|
|
|
- <acronym>PHP</acronym> <property>include_path</property>, providing incredible
|
|
|
- flexibility of implementation. The functionality may then be consumed by writing
|
|
|
- implementation and/or protocol-specific clients -- such as console
|
|
|
- clients, <acronym>XML-RPC</acronym>, <acronym>SOAP</acronym>, and much more.
|
|
|
+ <classname>Zend_Tool_Framework</classname> ist ein Framework für die Bereitstellung
|
|
|
+ gemeinsamer Funktionalitäten wie die Erstellung von Projekthüllen, Code Erzeugung,
|
|
|
+ Erstellung von Suchindezes, und noch mehr. Funktionalitäten können geschrieben und über
|
|
|
+ <acronym>PHP</acronym> Klassen in den <acronym>PHP</acronym>
|
|
|
+ <property>include_path</property> geworfen werden, was eine immense Flexibilität der
|
|
|
+ Implementation liefert. Die Funktionalität kann dann verwendet werden indem eine
|
|
|
+ Implementation geschrieben wird oder durch protokoll-spezifische Clients -- wie Konsolen
|
|
|
+ Clients, <acronym>XML-RPC</acronym>, <acronym>SOAP</acronym>, und andere.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Tool_Project</classname> builds on and extends the capabilities of
|
|
|
- <classname>Zend_Tool_Framework</classname> to that of managing a "project". In general,
|
|
|
- a "project" is a planned endeavor or an initiative. In the computer world, projects
|
|
|
- generally are a collection of resources. These resources can be files, directories,
|
|
|
- databases, schemas, images, styles, and more.
|
|
|
+ <classname>Zend_Tool_Project</classname> baut auf die Möglichkeiten von
|
|
|
+ <classname>Zend_Tool_Framework</classname> auf und erweitert diese um ein "Projekt" zu
|
|
|
+ managen. Generell ist ein "Projekt" ein geplantes Ereignis oder eine Initiative. In der
|
|
|
+ Computerwelt sind Projekte generell Sammlungen von Ressourcen. Diese Ressourcen können
|
|
|
+ Dateien, Verzeichnisse, Datenbanken, Schematas, Bilder, Stile und anderes sein.
|
|
|
</para>
|
|
|
-
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="zend.tool.extending.zend-tool-framework">
|
|
|
- <title>Zend_Tool_Framework Extensions</title>
|
|
|
+ <title>Erweiterungen von Zend_Tool_Framework</title>
|
|
|
|
|
|
<sect3 id="zend.tool.extending.zend-tool-framework.architecture">
|
|
|
- <title>Overall Architecture</title>
|
|
|
+ <title>Überblick der Architektur</title>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Tool_Framework</classname> provides the following:
|
|
|
+ <classname>Zend_Tool_Framework</classname> bietet das folgende:
|
|
|
</para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <emphasis>Common interfaces and abstracts</emphasis> that allow
|
|
|
- developers to create functionality and capabilities that are
|
|
|
- dispatchable by tooling clients.
|
|
|
+ <emphasis>Gemeinsame Interfaces und Abstraktes</emphasis> welche es
|
|
|
+ Entwicklern erlauben Funktionalitäten und Möglichkeiten zu erstellen welche
|
|
|
+ durch Tooling Clients verwendbar sind.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <emphasis>Base client functionality</emphasis> and a concrete
|
|
|
- console implementation that connect external tools and
|
|
|
- interfaces to the <classname>Zend_Tool_Framework</classname>. The Console
|
|
|
- client may be used in <acronym>CLI</acronym> environments such as unix
|
|
|
- shells and the Windows console.
|
|
|
+ <emphasis>Grundsätzliche Client Funktionalität</emphasis> und eine konkrete
|
|
|
+ Konsolenimplementation welche externe Tools und Interfaces mit
|
|
|
+ <classname>Zend_Tool_Framework</classname> verbindet. Der Konsolenclient
|
|
|
+ kann in <acronym>CLI</acronym> Umgebungen verwendet werden, wie Unix Shells
|
|
|
+ und der Windows Konsole.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <emphasis>"Provider" and "Manifest" interfaces</emphasis> that
|
|
|
- can be utilized by the tooling system. "Providers" represent the
|
|
|
- functional aspect of the framework, and define the actions that
|
|
|
- tooling clients may call. "Manifests" act as metadata registries
|
|
|
- that provide additional context for the various defined
|
|
|
- providers.
|
|
|
+ <emphasis>"Provider" und "Manifest" Interfaces</emphasis> welche vom
|
|
|
+ Toolingsystem verwendet werden können. "Provider" repräsentieren den
|
|
|
+ funktionalen Aspekt des Frameworks, und definieren die Aktionen welche
|
|
|
+ Tooling Clients aufrufen können. "Manifests" agieren als Metadaten
|
|
|
+ Registrierungen welche zusätzlichen Kontext für die verschiedenen
|
|
|
+ definierten Provider bieten.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <emphasis>An introspective loading system</emphasis> that will
|
|
|
- scan the environment for providers and determine what is
|
|
|
- required to dispatch them.
|
|
|
+ <emphasis>Ein introspektives Ladesystem</emphasis> welches die Umgebung auf
|
|
|
+ Provider scannt und erkennt was benötigt wird um Sie auszuführen.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <emphasis>A standard set of system providers</emphasis> that
|
|
|
- allow the system to report what the full capabilities of the
|
|
|
- system are as well as provide useful feedback. This also
|
|
|
- includes a comprehensive "Help System".
|
|
|
+ <emphasis>Ein Standardset von System Provider</emphasis> welche dem System
|
|
|
+ erlauben zu melden was die kompletten Möglichkeiten des Systems sind, und
|
|
|
+ ein nützliches Feedback bieten. Das beinhaltet auch ein ausführliches
|
|
|
+ "Hilfe System".
|
|
|
</para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>
|
|
|
- Definitions that you should be aware of through this manual with respect
|
|
|
- to <classname>Zend_Tool_Framework</classname> include:
|
|
|
+ Definitionen welche man in diesem Handbuch in Bezug auf
|
|
|
+ <classname>Zend_Tool_Framework</classname> beachten sollte sind:
|
|
|
</para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
|
- <listitem><para>
|
|
|
- <classname>Zend_Tool_Framework</classname> - The framework which exposes
|
|
|
- tooling capabilities.
|
|
|
- </para></listitem>
|
|
|
-
|
|
|
- <listitem><para>
|
|
|
- <emphasis>Tooling Client</emphasis> - A developer tool that connects
|
|
|
- to and consumes <classname>Zend_Tool_Framework</classname>.
|
|
|
- </para></listitem>
|
|
|
-
|
|
|
- <listitem><para>
|
|
|
- <emphasis>Client</emphasis> - The subsystem of
|
|
|
- <classname>Zend_Tool_Framework</classname> that exposes an interface such that
|
|
|
- tooling clients can connect, query and execute commands.
|
|
|
- </para></listitem>
|
|
|
-
|
|
|
- <listitem><para>
|
|
|
- <emphasis>Console Client / Command Line Interface /
|
|
|
- <filename>zf.php</filename></emphasis> - The tooling client for the command
|
|
|
- line.
|
|
|
- </para></listitem>
|
|
|
-
|
|
|
- <listitem><para>
|
|
|
- <emphasis>Provider</emphasis> - A subsystem and a collection of
|
|
|
- built-in functionality that the framework exports.
|
|
|
- </para></listitem>
|
|
|
-
|
|
|
- <listitem><para>
|
|
|
- <emphasis>Manifest</emphasis> - A subsystem for defining,
|
|
|
- organizing, and disseminating provider requirement data.
|
|
|
- </para></listitem>
|
|
|
-
|
|
|
- <listitem><para>
|
|
|
- <classname>Zend_Tool_Project</classname> Provider - A set of providers
|
|
|
- specifically for creating and maintaining Zend Framework-based
|
|
|
- projects.
|
|
|
- </para></listitem>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ <classname>Zend_Tool_Framework</classname> - Der Framework welche die
|
|
|
+ Tooling Möglichkeiten bereitstellt.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
|
|
|
- </itemizedlist>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ <emphasis>Tooling Client</emphasis> - Ein Entwickler-Tool welches sich zum
|
|
|
+ <classname>Zend_Tool_Framework</classname> verbindet und Ihn verwendet.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ <emphasis>Client</emphasis> - Das Subsystem von
|
|
|
+ <classname>Zend_Tool_Framework</classname> welches ein Interface
|
|
|
+ bereitstellt so das sich Tooling-Clienten verbinden, und Kommandos abfragen
|
|
|
+ und ausführen können.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ <emphasis>Konsolen Client / Kommandozeilen Interface /
|
|
|
+ <filename>zf.php</filename></emphasis> - Der Tooling Client für die
|
|
|
+ Kommandozeile.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ <emphasis>Provider</emphasis> - Ein Subsystem und eine Sammlung von
|
|
|
+ eingebauten Funktionalitäten welche der Framework exportiert.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ <emphasis>Manifest</emphasis> - Ein Subsystem für die Definition,
|
|
|
+ Organisation, und Verbreitung von Daten welche Provider benötigen.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ <classname>Zend_Tool_Project</classname> Provider - Ein Set von Providern
|
|
|
+ speziell für die Erstellung und die Wartung von Zend Framework basierenden
|
|
|
+ Projekten.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ </itemizedlist>
|
|
|
</sect3>
|
|
|
|
|
|
<sect3 id="zend.tool.extending.zend-tool-framework.cli-client">
|
|
|
- <title>Understanding the CLI Client</title>
|
|
|
+ <title>Verstehen des CLI Clients</title>
|
|
|
|
|
|
<para>
|
|
|
- The <acronym>CLI</acronym>, or command line tool (internally known as the console
|
|
|
- tool), is currently the primary interface for dispatching
|
|
|
- <classname>Zend_Tool</classname> requests. With the <acronym>CLI</acronym> tool,
|
|
|
- developers can issue tooling requests inside the "command line windows", also
|
|
|
- commonly known as a "terminal" window. This environment is predominant in the *nix
|
|
|
- environment, but also has a common implementation in windows with the
|
|
|
- <filename>cmd.exe</filename>, console2 and also with the Cygwin project.
|
|
|
+ Das <acronym>CLI</acronym>, oder Kommandozeilen-Tool (intern als das Konsolen-Tool
|
|
|
+ bekannt) ist aktuell das primäre Interface für die Bearbeitung von
|
|
|
+ <classname>Zend_Tool</classname> Anfragen. Mit dem <acronym>CLI</acronym> Tool
|
|
|
+ können Entwickler Tooling-Anfragen im "Kommandozeilen-Fenster" behandeln,
|
|
|
+ üblicherweise auch als "Terminal" Fenster bekannt. Diese Umgebung ist in einer *nix
|
|
|
+ Umgebung vorherrschend, hat aber auch eine übliche Implementation in Windows mit
|
|
|
+ <filename>cmd.exe</filename>, Console2 und mit dem Cygwin Projekt.
|
|
|
</para>
|
|
|
|
|
|
<sect4 id="zend.tool.extending.zend-tool-framework.cli-client.setup-general">
|
|
|
- <title>Setting up the CLI tool</title>
|
|
|
+ <title>Das CLI Tool vorbereiten</title>
|
|
|
|
|
|
<para>
|
|
|
- To issue tooling requests via the command line client, you first
|
|
|
- need to set up the client so that your system can handle the "zf"
|
|
|
- command. The command line client, for all intents and purposes, is
|
|
|
- the <filename>.sh</filename> or <filename>.bat</filename> file that is provided
|
|
|
- with your Zend Framework distribution. In trunk, it can be found here:
|
|
|
- <ulink
|
|
|
+ Um Tooling-Anfragen über den Kommandozeilen-Client auszuführen, muss man zuerst
|
|
|
+ den Client vorbereiten so dass das System den "zf" Befehl ausführen kann. Der
|
|
|
+ Kommandozeilen-Client ist, für alle Wünsche und Zwecke, die Datei
|
|
|
+ <filename>.sh</filename> oder <filename>.bat</filename> welche mit der Zend
|
|
|
+ Framework Distribution bereitgestellt wird. Im Trunk kann er hier gefunden
|
|
|
+ werden: <ulink
|
|
|
url="http://framework.zend.com/svn/framework/standard/trunk/bin/">http://framework.zend.com/svn/framework/standard/trunk/bin/</ulink>.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- As you can see, there are 3 files in the <filename>/bin/</filename>
|
|
|
- directory: a <filename>zf.php</filename>, <filename>zf.sh</filename>, and
|
|
|
- <filename>zf.bat</filename>. The <filename>zf.sh</filename> and the
|
|
|
- <filename>zf.bat</filename> are the operating system specific client
|
|
|
- wrappers: <filename>zf.sh</filename> for the *nix environment, and
|
|
|
- <filename>zf.bat</filename> for the Win32 environment. These client wrappers are
|
|
|
- responsible for finding the proper <filename>php.exe</filename>, finding the
|
|
|
- <filename>zf.php</filename>, and passing on the client request. The
|
|
|
- <filename>zf.php</filename> is the responsible for handling understanding
|
|
|
- your environment, constructing the proper include_path, and passing
|
|
|
- what is provided on the command line to the proper library component
|
|
|
- for dispatching.
|
|
|
+ Wie man sehen kann, gibt es 3 Dateien im <filename>/bin/</filename> Verzeichnis:
|
|
|
+ <filename>zf.php</filename>, <filename>zf.sh</filename>, und
|
|
|
+ <filename>zf.bat</filename>. <filename>zf.sh</filename> und
|
|
|
+ <filename>zf.bat</filename> sind Betriebssystem-spezifische Client-Wrapper:
|
|
|
+ <filename>zf.sh</filename> für die *nix Umgebung, und
|
|
|
+ <filename>zf.bat</filename> für die Win32 Umgebung. Diese Client-Wrapper sind
|
|
|
+ für das Finden der richtigen <filename>php.exe</filename>, das finden der
|
|
|
+ <filename>zf.php</filename>, und die Übergabe an die Anfrage des Clients
|
|
|
+ zuständig. Die <filename>zf.php</filename> ist verantwortlich für die
|
|
|
+ Behandlung der Umgebung, die Erstellung des richtigen include_path, und der
|
|
|
+ Übergabe von dem was auf der Kommandozeile angegeben wurde an die richtige
|
|
|
+ Bibliothekskomponente für die Bearbeitung.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Ultimately, you want to ensure two things to make everything work
|
|
|
- regardless of the operating system you are on:
|
|
|
+ Ultimativ, muss man zwei Dinge sicherstellen damit alles funktioniert,
|
|
|
+ unabhängig vom Betriebssystem auf dem man arbeitet:
|
|
|
</para>
|
|
|
|
|
|
<orderedlist>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <filename>zf.sh/zf.bat</filename> is reachable from your system
|
|
|
- path. This is the ability to call <command>zf</command> from
|
|
|
- anywhere on your command line, regardless of what your
|
|
|
- current working directory is.
|
|
|
+ <filename>zf.sh/zf.bat</filename> ist vom Systempfad aus erreichbar.
|
|
|
+ Das ist die Fähigkeit <command>zf</command> von überall aus aufzurufen,
|
|
|
+ unabhängig von aktuellen Arbeitsverzeichnisses.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
+
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <filename>ZendFramework/library</filename> is in your
|
|
|
+ <filename>ZendFramework/library</filename> ist im
|
|
|
<property>include_path</property>.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
@@ -200,22 +211,21 @@
|
|
|
|
|
|
<note>
|
|
|
<para>
|
|
|
- Note: while the above are the most ideal
|
|
|
- requirements, you can simply download Zend Framework and expect it
|
|
|
- to work as <filename>./path/to/zf.php</filename> some command.
|
|
|
+ Zu beachten: Wärend das oben stehende sind die idealsten Notwendigkeiten
|
|
|
+ sind, kann man einfach Zend Framework herunterladen und erwarten das es
|
|
|
+ mit <filename>./path/to/zf.php</filename> und einem Kommando funktioniert.
|
|
|
</para>
|
|
|
</note>
|
|
|
-
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="zend.tool.extending.zend-tool-framework.cli-client.setup-starnix">
|
|
|
- <title>Setting up the CLI tool on Unix-like Systems</title>
|
|
|
+ <title>Das CLI Tool auf Unix-artigen Systemen einrichten</title>
|
|
|
|
|
|
<para>
|
|
|
- The most common setup in the *nix environment, is to copy the
|
|
|
- <filename>zf.sh</filename> and <filename>zf.php</filename> into the same
|
|
|
- directory as your <acronym>PHP</acronym> binary. This can generally be found in
|
|
|
- one of the following places:
|
|
|
+ Das üblichste Setzup in einer *nix Umgebung ist es, <filename>zf.sh</filename>
|
|
|
+ und <filename>zf.sh</filename> in das selbe Verzeichnis wie die
|
|
|
+ <acronym>PHP</acronym> Bibliothek zu kopieren. Diese kann normalerweise in einem
|
|
|
+ der folgenden Plätze gefunden werden:
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="text"><![CDATA[
|