My Portfolio

Developing Web Applications with PHP, Zend Framework, MySQL, JavaScript, CSS/XHTML and Web Services.

sf.kurthogentogler.com

sf.kurthogentogler.com

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 are ready to go. From here I have a lot of area to increase the abstraction and scale the application.

« Back

Live Applications

My portfolio is here to showcase my understanding of modern web development using open source technologies and 3rd party libraries. I have skills in back end and front end web development.

My portfolio is a simple CMS web application I built with the Zend Framework to showcase my work and gain more knowledge of the core components of the Zend Framework.

My goal is to abide by web standards, produce friendly SEO compliant markup, create simple clean utilitarian web interfaces, and use libraries to cut down on development time. By using 3rd party libraries I insure my code is secure and tested but most importantly, simpler to build and maintain.

I also aim to demonstrate applications built with web services. Web services being part of the web 2.0 movement and also being a part of cloud computing.