I have been looking again at PHP MVC frameworks since I put Cake on WAMP a while ago. I had also been working on my own MVC at work partly because I needed my development team to have an authoritative reference on the framework and partly because I thought there was a little too much convention over configuration for the applications at work.
While looking around I found this blog post. This guy ended up choosing Cake but in this post he recommends using Zend and I agree. For a start Zend satisfies the first two of my problems with the other frameworks. Symphony, CakePHP and CodeIgniter are great but they depend on good will for documentation and that is a problem since most people, despite everyone talking about community all the time, don’t have the time or the inclination to give much back in terms of documentation. Zend have obviously spent some money on having people work on the docs for the Zend framework and this is because they intend to charge people for support on it.
Zend have also been mindful of my second problem. Frameworks need to have a low barrier of entry but they also need to be flexible. Cake has a very low barrier of entry but as far as I can see you pretty much have to follow the Cake conventions unless you want to spend all your time working around them. Symphony put me off as soon as I started to see YAML in the tutorial. Why do you need to learn YAML configs for a PHP framework? What is wrong with using PHP?
Zend seem to have provided a well documented library and taken some of the pain out of the error handling, front end controller and other things which I spent most of my time on in my own framework, without dictating my table staructures or providing too much magic. There is no scaffolding but I’m not sure how much time this saves you when you are creating large applications.
Of course, for work, the major pull of Zend is that they do allow you to subscribe to support and they are very unlikely to go anywhere. There should be an upgrade path or at least bug fixes for years to come whereas other frameworks will probably die as soon as a couple of key contributors lose interest in them.
So I guess I’ll try out the Zend framework and see how it goes. I could change my mind next week when I find something in it I don’t like.
1 response so far ↓
Giorgio Sironi // March 19, 2009 at 7:13 pm |
Of course, personally I have integrated Zend Framework in my cms because I feel they are doing it right.