Codeigniter is one of the most popular php framework out there, that have been used by many php developers around the world. This post is just my own opinion from my technical experience while using codeigniter. This graphic below is taken from google trends to compare codeigniter search popularity, than any other popular php framework.
The first php framework I use is cakephp, it has a lot more features than codeigniter, very detail documentation too, for the first time it will take some time to understanding, exploring the features and find some other reference online.
Below I mention some my opinion why people choose codeigniter, some may show it lack of features, but behind the lack of features, codeigniter can be use to get an easy understanding of php framework, and the most important thing is to get the job done as soon as possible. please note that this reason maybe for a who are new with php framework
1) Do Not Have Command Line
Most of php framework come a command line feature, I haven’t fell the benefit command line in the real project, but this article will help you to get an idea why command line is useful, my point is not much web application need to have command line.
2) Do Not Have ORM
ORM is very useful when dealing so many database tables, but in simple web application this feature do not need to use, when I first learn php framework, I don’t really know about ORM, and when I read the ORM section I feel like that it need to be in every web application. The good thing I learn about what ORM is, the bad thing is if we are in hurry, it will cost more time.
3) Great Documentation
Codeigniter documentation sure really written well, even for developer who are not familiar to MVC pattern codeigniter documentation is one of good place to start, it is not really perfect but you can get the most out of the features here.
4) No Plugin
Since version 2 codeigniter remove plugins, from it feature, because he ambiguous with “Library” and “Helper”. It good to not to make a term confusion.
Codeigniter not really the fastest but one of the fastest, also I never test it by myself, cause I think it doesn’t really necessary, this two benchmark maybe can be as your benchmark reference (benchmark 1, benchmark 2), but don’t rely on these to much cause “Hello World” application benchmark cannot measure overall performance when the web goes live.
The conclusion is I’m not saying codeigniter is the best php framework, but it really good for everyone to getting started with php framework. One point, It will save more time when learning all the framework scope, but if you are a experience php developer and have more time to learn why not trying some more advanced framework like Symfony or Zend Framework.