[MANUAL] English:
[zend.git] / documentation / manual / en / module_specs / Zend_Tool_Project.xml
blobc304b94fb4edfef102b342c124b627507205d947
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <sect1 id="zend.tool.project.introduction">
4     <title>Introduction</title>
6     <para>
7         <classname>Zend_Tool_Project</classname> builds on and extends the capabilities of
8         <classname>Zend_Tool_Framework</classname> to that of managing a "project". In general, a
9         "project" is a planned endeavor or an initiative. In the computer world, projects generally
10         are a collection of resources. These resources can be files, directories, databases,
11         schemas, images, styles, and more.
12     </para>
14     <para>
15         This same concept applies to Zend Framework projects. In Zend Framework projects, you have
16         controllers, actions, views, models, databases and so on and so forth. In terms of
17         <classname>Zend_Tool</classname>, we need a way to track these types of resources - thus
18         <classname>Zend_Tool_Project</classname>.
19     </para>
21     <para>
22         <classname>Zend_Tool_Project</classname> is capable of tracking project resources throughout
23         the development of a project. So, for example, if in one command you created a controller,
24         and in the next command you wish to create an action within that controller,
25         <classname>Zend_Tool_Project</classname> is gonna have to <emphasis>know</emphasis> about
26         the controller file you created so that you can (in the next action), be able to append that
27         action to it. This is what keeps our projects up to date and <emphasis>stateful</emphasis>.
28     </para>
30     <para>
31         Another important point to understand about projects is that typically, resources are
32         organized in a hierarchical fashion. With that in mind,
33         <classname>Zend_Tool_Project</classname> is capable of serializing the current project into
34         a internal representation that allows it to keep track of not only <emphasis>what</emphasis>
35         resources are part of a project at any given time, but also <emphasis>where</emphasis> they
36         are in relation to one another.
37     </para>
38 </sect1>