| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <sect1 id="zend.tool.framework.introduction">
- <title>Introduction</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.
- </para>
- <para>
- <classname>Zend_Tool_Framework</classname> provides the following:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>Common interfaces and abstracts</emphasis> that allow
- developers to create functionality and capabilities that are
- dispatchable by tooling clients.
- </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.
- </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.
- </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.
- </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".
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Definitions that you should be aware of through this manual with respect
- to <classname>Zend_Tool_Framework</classname> include:
- </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>
- </itemizedlist>
- </sect1>
|