For those who have doubts in using the Zend Framework, maybe you should read this post.
As we come near to launching fav.or.it I thought I would share my thoughts on building the project completely on Zend Framework. When we started 7 months ago the framework was on version 0.7 and some may have thought that basing our fledgling startup on a single unknown framework was slightly foolhardy. I will first cover why I made this decision and then outline my thoughts on each of the core modules and how we use them.
When I researched what framework we would use and if in fact we would use any of them I had a whole lot of criteria that they needed to fulfill. I was already well aware of the main contenders (CakePHP, Symfony, CodeIgniter) and then along came the Zend Framework. I immediately warmed to the overall mission statement behind the Framework and also the fact that on top of having a great team of developers they had the steadying hand of a company that had a vested interest in making the Framework a success but also to make it relevant to business as well as to the open source community.
Is it a framework?
The first thing that I always have to explain when talking about the Zend Framework is that to me it is not a ‘framework’ or not in the same way others are frameworks. This causes a lot of confusion and misunderstand of what the Zend Framework has to offer. To me most frameworks require you to conform to how they ‘think’ (something Ruby/Rails suffers from) and breaking out from their thinking requires actual alteration of the framework.
To me the Zend Framework is actually a Library, something that I can pick and choose from and although a good percentage of each module does also interact with other modules this behavior can in most cases be overridden or sub-classed and behaviour changed.
Another difference is that a lot of Frameworks revolve around their own implementation of the MVC (Model View Controller) and again if you want to break out from how they work then you may as well not use any of the framework. The Zend Framework does of course include modules that assist in setting up a MVC and it has many great tutorials on ‘the standard’ way of doings things. But once you begin to understand how everything fits together it has incredible power for those who want to stretch its legs.
Not for beginners?
I will at this point make lots of enemies by saying that the Framework is a professional product and is not really for the beginner. Although it has made strides towards simplifying some aspects of the MVC (and other modules) it is still certainly more complex than others and if you have no inclination to do anything ‘out of the ordinary’ then my advice is to use something else.