Kohana PHP Framework – My Thoughts

As some of you know, over the past few weeks I’ve been building a prototype for a new web app. For this I decided to try out the Kohana PHP framework to see if it will help speed up development. I chose Kohana primarily because it was light weight and PHP5 only, and I have to say I’m really glad I did. After several weeks hacking around with Kohana (mostly playing admitedly, but I’m almost to the point of having a fully working web app up and running) I have collected a few thoughts on the framework.

Good Points

  • It is PHP5 only (5.2 and above) so it allows for utilising the full power of OO PHP.
  • It is light weight.
  • True auto loading – it’s PHP5, you shouldn’t have to explicate load a class!
  • The cascading file system – this is a joy to work with. It easily allows you to extend and add to modules, libraries, models and configuration files.
  • Kohana has greatly speeded up the development of my prototype and has allowed me to focus on the actual functionality of the app, leaving all the boring, repetitive bits of coding to the framework.
  • I have had to dig about under the bonnet a few times to see what’s going on, and I have been impressed by the clean and well structured code.
  • The community – behind Kohana there is a small but active and knowledgeable community. I have been stuck a number of times when hacking around with Kohana, and on both occasions I have received prompt and useful replies.
  • Most importantly it lets you code how you want, without getting in the way, whilst at the same time can take out a lot of the donkey work for repetitive tasks.

Bad Points

This is going to be difficult, but I’ll give it a try

  • Documentation.  From what I can make out it has come on leaps and bounds over the past few months, however, it sometimes isn’t always clear. Also, the tutorial site hasn’t been updated for a good few months now.
  • Limited number of modules currently available.

However, the above points aren’t deal breakers. Kohana is an open source project, and relatively young at that. This means that I can actively do something about both the documentation (it’s a wiki that anyone can register) and the modules. I just need to find some time and contribute!

Conclusion

As you might already be able to tell, my conclusion is going to be positive. I have really enjoyed playing around with Kohana, it is solid, secure and well designed. Being PHP5 only, not only can I utilise the full potential of PHP, but so can the framework. As said, I’m really glad I chose Kohana, and I am pretty excited about its future developments.

If anyone out there needs a solid, well thought out framework for PHP5, that is backed by an active community, you can’t go wrong if you chose Kohana.

Notes

I have been using Kohana version 2.3 exported from the SVN – details on the Kohana dev site.

Other Reviews

Don’t take my word for it, other people are talking about Kohana too

  • Review at phoenixheart.net – very recent so a good review of the state that Kohana is in at the moment.
  • The final part of a review comparing Zend, Symfony and Kohana. This review is about 6 months old, so the comments about the lack of documentation are slightly less accurate today.
  • Comparision of Kohana and CodeIgnitor (the framework Kohana was originally forked from).