Zend_Tool_Framework-Introduction.xml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <sect1 id="zend.tool.framework.introduction">
  4. <title>Introduction</title>
  5. <para>
  6. <classname>Zend_Tool_Framework</classname> is a framework for exposing common
  7. functionalities such as the creation of project scaffolds, code
  8. generation, search index generation, and much more. Functionality may be
  9. written and exposed via <acronym>PHP</acronym> classes dropped into the
  10. <acronym>PHP</acronym> <property>include_path</property>, providing incredible
  11. flexibility of implementation. The functionality may then be consumed by writing
  12. implementation and/or protocol-specific clients -- such as console
  13. clients, <acronym>XML-RPC</acronym>, <acronym>SOAP</acronym>, and much more.
  14. </para>
  15. <para>
  16. <classname>Zend_Tool_Framework</classname> provides the following:
  17. </para>
  18. <itemizedlist>
  19. <listitem>
  20. <para>
  21. <emphasis>Common interfaces and abstracts</emphasis> that allow
  22. developers to create functionality and capabilities that are
  23. dispatchable by tooling clients.
  24. </para>
  25. </listitem>
  26. <listitem>
  27. <para>
  28. <emphasis>Base client functionality</emphasis> and a concrete
  29. console implementation that connect external tools and
  30. interfaces to the <classname>Zend_Tool_Framework</classname>. The Console
  31. client may be used in <acronym>CLI</acronym> environments such as unix shells and
  32. the Windows console.
  33. </para>
  34. </listitem>
  35. <listitem>
  36. <para>
  37. <emphasis>"Provider" and "Manifest" interfaces</emphasis> that
  38. can be utilized by the tooling system. "Providers" represent the
  39. functional aspect of the framework, and define the actions that
  40. tooling clients may call. "Manifests" act as metadata registries
  41. that provide additional context for the various defined
  42. providers.
  43. </para>
  44. </listitem>
  45. <listitem>
  46. <para>
  47. <emphasis>An introspective loading system</emphasis> that will
  48. scan the environment for providers and determine what is
  49. required to dispatch them.
  50. </para>
  51. </listitem>
  52. <listitem>
  53. <para>
  54. <emphasis>A standard set of system providers</emphasis> that
  55. allow the system to report what the full capabilities of the
  56. system are as well as provide useful feedback. This also
  57. includes a comprehensive "Help System".
  58. </para>
  59. </listitem>
  60. </itemizedlist>
  61. <para>
  62. Definitions that you should be aware of through this manual with respect
  63. to <classname>Zend_Tool_Framework</classname> include:
  64. </para>
  65. <itemizedlist>
  66. <listitem>
  67. <para>
  68. <classname>Zend_Tool_Framework</classname> - The framework which exposes
  69. tooling capabilities.
  70. </para>
  71. </listitem>
  72. <listitem>
  73. <para>
  74. <emphasis>Tooling Client</emphasis> - A developer tool that connects
  75. to and consumes <classname>Zend_Tool_Framework</classname>.
  76. </para>
  77. </listitem>
  78. <listitem>
  79. <para>
  80. <emphasis>Client</emphasis> - The subsystem of
  81. <classname>Zend_Tool_Framework</classname> that exposes an interface such that
  82. tooling clients can connect, query and execute commands.
  83. </para>
  84. </listitem>
  85. <listitem>
  86. <para>
  87. <emphasis>Console Client / Command Line Interface /
  88. <filename>zf.php</filename></emphasis> - The tooling client for the command line.
  89. </para>
  90. </listitem>
  91. <listitem>
  92. <para>
  93. <emphasis>Provider</emphasis> - A subsystem and a collection of
  94. built-in functionality that the framework exports.
  95. </para>
  96. </listitem>
  97. <listitem>
  98. <para>
  99. <emphasis>Manifest</emphasis> - A subsystem for defining,
  100. organizing, and disseminating provider requirement data.
  101. </para>
  102. </listitem>
  103. <listitem>
  104. <para>
  105. <classname>Zend_Tool_Project</classname> Provider - A set of providers
  106. specifically for creating and maintaining Zend Framework-based projects.
  107. </para>
  108. </listitem>
  109. </itemizedlist>
  110. </sect1>