Welcome
This is a fictitious web application built to show my competency in PHP, Zend Framework, back end web development, and modern front end web development utilizing CSS 2.1, CSS 3, Jquery and XHTML.
I feel this is a good base (start) for an application and this application could really be taken to the next level with AJAX, Web Services, a Rating System, Tags, Social Aspects etc...
When you hover over Recipes you'll find content for the Breakfast and Lunch categories. You can also sign up, login, add a recipe and image to see it in action.
This application incorporates a Fat Model Skinny Controller paradigm. The heart of an application lies in the Model and Model Resources; so I briefly discuss the application architecture here. Choosing this paradigm really allows for scalability, ease of maintenance, ease of design (once you wrap you head around it), and testing.
To circumvent the problems with the direct inheritance model (which is the most popular- (think Ruby on Rails) I use a Has-a relationship (composition) Model.
Specifically the Advantages of this model are:
1. It does not break the OO inheritance principle
2. Abstracts database from Model
3. It is easier to test without the need for a database
The Disadvantages of this model are:
1. Is more intricate to implement
2. Has more files to manage
This type of Model is a little more complex to implement but has some real advantages over the direct inheritance route. With this method you can test your Models without needing a database, making unit tests easy to run regularly.
Also, if I need to replace my data source with a
web service, I can now easily do that. By following the OO principle of composition there are many advantages.
You do have to do a little work to get
everything working, but once you have the infrastructure you're ready to go.
From here I have a lot of area to increase the abstraction and scale the application.