What makes them different from each other?
What makes each better/worse and why?
All things considered, what is your favorite?
Use CodeIgniter if you need PHP4. The two are similarly flexible and light.
Positives: * cascading filesystem with built-in support for modules * very clean and easy to use ORM implementation * auto loading of classes * easy to understand syntax * HMVC support is currently in development * open communication between community and devs * flexibility ... you can pretty much do whatever you want with custom class libraries, vendors without much hassle.
Negatives: * still a relatively new framework that is changing fast, but the current trunk branch is now stable. * expanded documentation module is in development
Kohana really does look like a great framework, however after reading the forums and wiki a little I'm worried that if I begin learning now, I'll need to change a lot of what I learn in the coming months with the 2.3/3.0 branch (whatever they end up calling it) - and whatever I start building will have to change too.
This isn't a huge problem as whatever I build now will be mainly side-projects which are designed to push my learning forward (such as small e-commerce sites, rating sites, file uploader sites), however considering the changes coming soon (API etc) it's a little frustrating.
However, thanks to you two I've found Kohana which is absolutely what I was looking for. Cake is a little too bloated and complex, CI is more flexible and simple, however to appeal to a larger userbase must support also PHP4 and 5, while Kohana is very niche insofar that is all about 5 and thus very much less restricted.
I'd be interested to see what other people who have worked around these frameworks think of Kohana.
I built a MVC framework for my project using their style and ended up learning a lot from them.
Also, about it being a new framework; the last I checked they were making a big change to the routing methods and folder structure.
cake/symfony/etc. are rapid development frameworks that try and recreate some of the magic of rails in php form. they're very good to get somewhere quick. they do suffer from a bit of feature bloat and performance problems if you're planning for a large application down the line.
i've used them all, i like them all. having said that, i would hands-down go with codeigniter on every project IF they were to pull together a better community and form better community code and libraries. for example, it took me forever to get a simple, working, secure authorization library in codeigniter, including having to mess around with the module myself to do what i wanted it to do. it comes fully functional in cakephp.
just my $0.02
The CI community is one of my favorites. People are quick to respond on the forums, and Ellis Lab works closely with the community to make sure people get the help they need. As for code, I feel that there are plenty of good solutions for most of the common spots that CI itself does not fill, but everybody's needs are different.
But I do agree, it is better to right one for yourself and it is not that hard.