| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?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 PHP classes dropped into the PHP
- <code>include_path</code>, providing incredible flexibility of
- implementation. The functionality may then be consumed by writing
- implementation and/or protocol-specific clients -- such as console
- clients, XML-RPC, SOAP, and much more.
- </para>
- <para>
- <classname>Zend_Tool_Framework</classname> provides the following:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>Common interfaces and abstracts</code> 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 CLI 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 /
- zf.php</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>
|