Kohana is my favorite PHP framework by a long shot. The developers are very bright and they work hard to incorporate the wants and needs of the community, without diluting quality. It is PHP5 only, though.
Use CodeIgniter if you need PHP4. The two are similarly flexible and light.
++ for KohanaPHP. It's one of the most elegant and powerful PHP5 frameworks you will find out there. The devs are great!
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
I had a look at Kohana after your posts, and I really like the look of it, especially since I was leaning toward CI however didn't want to learn in an environment which was supporting a mix of PHP4 and 5. If I'm learning PHP now, I may as well learn PHP5 and work in an environment which can fully facilitate that without having to bloat up and lose flexibility by supporting 4 as well.
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 have only tried CodeIgniter so I can only speak for that but it is by far the best decision I have made to move to this MVC framework. It's holds a lot of libraries and helpers which will simplify most tasks and they are incredibly easy to extend. It's downside though is that you're not able to call functions internally from other controllers but once you get used to that it doesn't pose many problems. I would recommend you having a look at their documentation (which is very well done) and a demo video.
codeigniter is a good purely MVC framework that doesn't add much extra overhead to your project (by default -- you can pull in plenty of overhead with the external libraries and such). if you want the MVC separation but don't want to be weighted down by other things and like to hack around in php, its a good choice.
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.
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
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.
CodeIgniter is OK, but the first question is -- do you really need any PHP framework? It's not hard to get MVC in a few lines of code without any framework.
Use CodeIgniter if you need PHP4. The two are similarly flexible and light.