It has been a while since i last wrote a post about working with the Zend Framework and the, then rather new, package Zend_Amf. The project structure was an attempt to integrate the Zend MVC with Zend Amf (and of course try out some new features in the Flash player 10).
Since that post, Zend has released some major releases with some rather big changes, like the Zend_Application package combined with the Bootstrap class.
Because i am not a real PHP programmer (consider myself as a junior in that area), it is rather difficult to learn all the ins-and-outs of the framework and i rely heavily on what other people write on the internet about the several topics considering the Zend Framework.
So i decided to bundle all my findings into one project setup and publish the sources on Google code. This way i always have access to these sources and i can refer to them within coming blog posts.
The first thing i did was setting up a project structure like the one shown in picture 1:
The root of the project contains besides the standard application, library and public folders, also folders for future unit tests and temporary files (caching, logfiles).
The library folder needs some explanation. Normally this folder contains a Zend folder with the Zend Framework classes. I decided not to hold a complete copy of the framework in my own Google code subversion repository, but instead a have set a subversion property svn:external, linking to the Zend Framework subversion repository.
When checking out the code from Google code, the Zend Framework classes will also be checked out (and automatically updated, when the svn:external property is updated) in the library folder.
So let start with the application folder structure. As shown the folder contains a configs, default, modules and resources folder. When you follow the project setup explained in the Zend Framework Quick Start, you will find some differences with the setup i use. For example all contents of the default folder are found in de Quick Start directly under the application folder and the Quick Start setup is missing the modules and resources folders.
I shall try to explain the rest of the project contents in some later posts, so in the meanwhile check out the sources and let me know what you think of it.
Here is a screenshot of what will be shown when the sources are succesfully installed within your local webserver.