Kohana – A Review of the Good, Bad and Ugly
I’m approaching the launch date for my first site based on Kohana and feel it’s time to spill the beans. Somebody posted on the forums today and asked why Kohana isn’t more popular when compared to Cake, CodeIgniter, Zend or Symfony. The simple answer is that it’s not meant to be.
Kohana claims to be easy to use but this implies that it’s easy to pickup, it isn’t.
Kohana’s documentation sucks. The information on the official site is woeful, out-of-date and needs to be supplemented by forum searches and some heavy Googling. When you do find an answer, it’s also likely to be related to a different version of Kohana.
Kohana releases a lot of updates and without a changelog it’s hard to keep track. This means that upgrading your site from one version to another is both dangerous and time-consuming. It’s a bit like knitting with cocktail sticks while juggling chainsaws.
However, Kohana does make sense and once you’ve learned how it works you’ll enjoy it. You just need to climb that steep learning curve, I recommend some ice picks and crampons because it’s tough going.
If you want to use Kohana for your next web site I recommend that you pick a single version and forget about upgrading it for a year or so. Each version is stable so you don’t need to patch vulnerabilities. As the changelog is missing and there’s no good information for upgrading, I’d simply skip the stage. After all, you just don’t need it unless there is some killer feature you need. We’re also about to go through a big leap moving from v2 to v3 so if I was starting a new project, I’d start in v3. I see no reason to use v2.4 unless you like stapling your eyeballs together and really, really need to upgrade from an earlier release of v2.
Kohana is not friendly and you’ll be largely resigned to reading the source code to find the available methods, properties and how they work. The new v3 release has a better set of reference documentation but it’s not like the PHP documentation, it’s just not that nice.
Kohana is designed for leet PHP programmers and will never be as popular as one of the other frameworks. You need to know this and just lower your expectations from the get-go. Kohana is what it is and if it works for you, you’ll love it. If you don’t try CodeIgniter or Cake, they’re easier to get going with and you don’t have to ask newbie questions and risk the wrath of leet coders on the Kohana forums.
PS Woody (shadowhand), if ever you want to make Kohana a popular framework, just let me know.