It will be a month that I am using CodeIgniter on rewrite project for PHP ecommerce site. I think I spent enough time to form good impression about it.
For start, it is not RubyOnRails that is for sure. However it has enough MVC elements to make it very usefull and enjoyable for development. Based on reviews, speed is one the great features.
First, I had the task to rewrite ecommerce site developed in PHP. Rails was one of the options. If we took that road, I was a little worried that we might run into performance issues. No need, but it was a possibility. So I went on to research what is available for PHP. I did quite some work in PHP recently but aside from Fusebox I didn’t really used specific frameworks.
What I discovered that CakePHP and CodeIgniter are probably one of the best solutions when it comes to PHP. In PHP there is a wealth of frameworks available, however a lot of them are either really bulky like Symphony or of suspect quality. Both frameworks have active comunities and very active development. Details decided to take CodeIgniter, mostly when I installed it, it was very easy and I kind of started to do things. That determined it.
Code Igniter is really neat, small and very lightweight framework. One of the first things I discovered is that layouts are not integrated. I didn’t like this at all and I think this should be part of the base. However adding layout library was super easy and I learned how easy it is to extend. Month later I made 3 more libraries for internal use, however I might publish one of them as it might be useful to other people as well. Well second one is authorize.net so I might release that as well.
It is extremely pleasurable to develop things with CodeIgniter. It has very good and well organized help which is great in the beginning as I kept referring to it even though overall it is very easy. If for nothing else, very good help and also ease of extending with more features convinced me that I made very good choice. I don’t think I would do wrong with CakePHP as well.
Here are things I especially like about CodeIgniter:
- ease of use,
- help is easy to access and navigate,
- MVC (I like php views but I want layout),
- image manipulation
- easy setup, runs everywhere
Let me explain this last observation. CodeIgniter is made to be very easy to setup and apps made using it would run from dedicated machines to most clunkiest hosting. I think this is awesome quality.
People praise CI community and it is certainly there, however I didn’t really found very quick replies that I got to my inquiries overly helpful and in the end I figured out on my own problems I had. So, community is there but it might not be of much help.
I am looking forward wrapping up this project that I working on, I think it was a great service to the client that I decided to use Code Igniter. I am also looking forward to use CI on my other project as well, as I grow fond of it.