Zend FrameWork
January 07, 2010
There are many PHP frameworks out there for a PHP developer to consider. I think ultimately the choice should be made based on your needs and your comfort level with your choice. If you wish to stick with one framework for all of your projects then great. If you wish to explore multiple frameworks then that's great too. I've chosen to work with the Zend Framework and Code Igniter. I've also dabbled with CakePHP.
I started working with the Zend Framework before the version 1.0 release, and even then it was a pretty polished framework with many features to like. It had great promise because it was being developed by Zend and because of all the industry support behind it. The great thing about the Zend Framework is that you don't have to implement the framework itself and incur its overhead. You can just use the many useful classes it offers such as Gdata, Caching, Feed, PDF and Search Lucene implementations. But if you wanted to use the framework then you have a pretty solid framework to work with.
My first Zend Framework project required a group of external RSS feeds to provide the content. Zend_Feed provided everything I needed to handle RSS and Atom feeds. Zend_Cache's file adapter allowed me to cache the feeds. Having worked with the CakePHP framework before I found setting up the framework pretty straightforward. The documentation on Zend's Website provided most of what I needed even though I found the Quick Start Guide somewhat lacking. The Website was built quicker than I had anticipated and my first impression of the Zend Framework was a good one.
Without caching and properly optimized code the framework can be a bit slow. I was handed a Website done by a third-party developer in order to polish it up a bit. They had built their own implementation of the configuration, data abstraction layer, caching and other classes. This additional overhead may have increased the load time of the Website and it seemed to me that the Website would have been better written if they had not extended many of the core classes and just kept it simple. Even with some of their clever caching the Website would not load quickly enough. After some tweaking of the database queries, caching, server optimizations and other bits here and there, we were able to improve the load time to an acceptable level.
Now there are more things to like about the Zend Framework as they have added support for the Dojo and jQuery Ajax libraries as well as pagination, validation and command line tools. It is a solid framework for middle to larger-sized projects. Many developers swear by the Zend Framework because of its industry backing and exhaustive list of features. I find it to be a solid framework as long as the developer knows how to optimize the code for good load times. Here are some Websites or Web applications that are powered by the Zend Framework
- IGN's Grand Theft Auto 'Hood
- Magento Commerce: A powerful and flexible e-commerce platform built on top of the Zend Framework
- Atmail Webmail Client
- Digitalus CMS

