Before anything else, I want the readers to know that I have used Zend Framework for a few months prior to using Code Igniter. I hang out in #zftalk (freenode) when I have time. So I am more of a ZF guy than a CI person. But after working with Code Igniter for a couple of weeks, I realized how much a love ZF over it (CI). Working and coding in ZF is more enjoyable than working in CI – I don’t know if it just me, but I don’t feel comfortable coding in Code Igniter.. I have had instances in CI where I think I could have done a better job if I wrote it in ZF – espcially with the ZF Components.
Code Igniter has some pretty nice features though. For instance, you can deploy an MVC project in less than a minute. You just have to configure the files an then viola! You are now up and running. While with ZF, you would have to make your own bootstrap file and you would have to choose which directory structure you will use. I think this is why a lot of people use CI. The learning curve is very easy and deployment is fast. But the joy ends there – well at least for me since I love exploring the unknown.
I have complete confidence that Zend Framework will be able to handle any project – from web sites to custom web applications — just about anything. It might take longer to configure and deploy, but in the end it is all worth it. I also find it very comforting that the Zend Framework Components are made by people who “really” know PHP. I have had bad experiences using “hacks”, poorly-tested user-contributed plug-ins by using other open-source ready-made CMSes.
In the end, both frameworks have their strengths and weakness. Code Igniter is fast to deploy and easy to configure. For Zend Framework, no matter what other people say about it– I love it FTW!