Wednesday, November 23, 2011

CakePHP vs CodeIgniter

Web application framework, a software framework for development of dynamic websites, web applications, and web services

Nowadays, framework is important for us to create an agile, self-documented and organized Web Application. There has been a long fuss between these two great frameworks: CakePHP and CodeIgniter. But the question still remains, which framework should I choose? Read on to find out.

Fig 1: CakePHPFig 2: CodeIgniter

Both CodeIgniter and CakePHP are best suited for object oriented programming and support the Model View Controller architecture which provides robustness and flexibility to a great extent. CakePHP is the better one when it comes to robustness and strictness of conventions, which is appreciated by a section of the programmer community because it is easy to remember. On the other hand, venturesome programmers see this as a shortcoming in CakePHP. CodeIgniter has a wide built-in library that serves most of the purpose of a beginner in PHP programming. For those ahead of the rest, CodeIgniter lets them create their own libraries or rather classes within those libraries barring the database classes. There are certain simple naming conventions that need to be followed. The flexibility of creating custom classes and modifying existing native classes is something highly appreciated by radical programmers, always itching to create something different. CakePHP on the other hand, is more in demand with hard core PHP guys for its robustness and superior auto-load features. ORM is another strong point of CakePHP. In terms of speed, CodeIgniter wins hands down.

Both CakePHP and CodeIgniter has an active community and is open-source so development and improvements are continuously being done. They say clarity of documentation and online support community of CodeIgniter is far better than CakePHP, which makes it the framework of choice for toddler programmers and experts alike. For me, I prefer the documentation of CakePHP. Recently, they updated their website and I like the changes because now the community can edit the documentation. It is also easily searchable and well-organized; There is a blog tutorial that will easily help you jumpstart in getting used to CakePHP.

Bottomline, if you're a beginner you're best bet will be using CodeIgniter because it is closer to classic PHP, faster to learn, easy to use and fast. Otherwise, choose CakePHP for its strict MVC, robustness, data sanitation, and support for PHP4 and PHP5.


  1. both has its uses and purpose. that is the beauty of the opensource community. the tools (ie: codeIgniter / cakephp) are out there you just have to choose what best fits your needs

  2. haha. But I think cake is better, there are more functionalities available, simplified.