I have been studying both Cake and CI for a while, and I found both are just indispensible. Both have their strengths and weaknesses. But according to the blog, whose owner tested them with a benchmarking tool, CI seemed to be able to carry out more requests in a second than Cake and Symfony for a simple “echo” function. Symfony wasn’t my choice, since it doesn’t support PHP4.
I like Cake for its ORM feature and Ajax helpers. I like CI for it’s flexibility. If CI had built-in support for ORM, I would have never used Cake again. Coding Cake is strict but it makes our life easier when we follow Cake’s naming convention. I don’t even have to write SQL even when working with tables in relationships. CI has an add-on called Rapyd to provide ORM. For the time being I’m feeling more comfortable with Cake’s built-in ORM.
I have already developed some projects, including Shwe Pyi Hein Monastry, using CI. It is less restrictive than Cake, and it is the one I studid first, I’m more familiar with that. But it doesn’t stop me from using Cake also 😉
Drupal is one of the best CMS I’ve ever seen. In addition to Drupal, I have used PHP-Nuke, Postnuke, e107, Mambo, and Joomla. But now I have removed PHP-Nuke for its overhead and bugs, Postnuke for slow development. e107, Mambo/Joomla have got a lot of built-in features compared to Drupal.
Although I have not tested yet, Cake can be placed as a plug-in/extension for Drupal (via project Drake), and Joomla. If I’m too lazy to learn Drupal API or Joomla API, it will be my saviour.