Ironically the Zend Framework is marketed with the phrase “Extreme Simplicity & Productivity”. I have developed a few sites with it now and I find it to be anything but simple and productive. It’s complicated, has a steep learning curve, and (in my opinion) needs a lot more work. I realize that I’m coming from a RoR background and that is a lot for a PHP framework to try to match. Nevertheless, I am quitting all Zend Framework development until more work can be done on the framework. Then, maybe I’ll reconsider.

I have found CodeIgniter and have now built 3 sites with it. It’s simple, easy to use, speeds up development, has great documentation and, best of all, has won me as a fan. My most recent CodeIgniter project is an educational/e-commerce site about Rebounding with the Cellerciser While developing the site and reading the site content, I was convinced of the many reasons to use a Cellerciser I’ve now been using a Cellerciser for about 3 months and I love this thing!

All this is to say that I’m developing with CodeIgniter now and I’m customizing my development for PHP5. Even though CodeIgniter is not strictly a PHP5 framework (it will run under PHP4 or PHP5) it does try to detect if it’s being run under PHP5 and has several chunksk of PHP5 specific code that get loaded if you are using PHP5. Then, you can code your own models and libraries using strict PHP5 syntax – taking advantage of all the goodness that PHP5 brings to the table.

I took a day or two to look into Kohana which is basically the PHP5 only version of CodeIgniter. Kohana, being pure PHP5, has a few advantages over CodeIgniter. Here is a great reivew comparing Kohana and CodeIgniter In the review there are also a few tips on integrating the Zend Framework in with you CodeIgniter project – a much better use of the Zend Framework than building exclusively upon it.

Even though I exclusively use PHP5 and Kohana takes much better advantage of PHP5 than CodeIgniter does, I ended up sticking with CodeIgniter for the following reasons:

  • Better documentation (although Kohana’s is very good too)
  • I felt like CodeIgniter had a more secure and substantial user base
  • Kohana does not have any unit testing (but it is coming in the next release)
  • More add-ons (ignited code) for CodeIgniter adding any “missing” feature you can think of

My biggest complaint with CodeIgniter is the session handling. Session data is stored on the client side in a cookie. So you are limitted to 4kb of data. I prefer to store session data on the server side in a database. There are several add-ons for CodeIgniter that give you server side, database storage for session data.

If you have any questions about CodeIgniter, or comments about CodeIgniter vs Kohana, please feel free to share your thoughts!