We described a major best features comparison of Codeigniter, Yii and Cakephp for the beginner who start to PHP MVC for the first time, Whether a selection guide of php framework for the next project he do.
CodeIgniter is an open source rapid development web application framework, for use in building dynamic web sites with PHP. The first public version of CodeIgniter was released on February 28, 2006, and the latest stable version 2.2.1 was released January 22, 2015.
- Not Supports ORM.
- No Ajax Helper.
- Project can be developed without using model.
- Caching method is available for view.
- REST is used as webservices.
- Easy to learn.
- No model,view,contoller generators.
CakePHP is a free, open-source, rapid development framework for PHP. It’s a foundational structure for programmers to create web applications. Our primary goal is to enable you to work in a structured and rapid manner–without loss of flexibility. CakePHP takes the monotony out of web development.
- Strict Naming Conventions.
- Better Validation than codeigniter.
- Code generation is quicker but harder to understand.
- Supports ORM.
- Bake tool for creating models,views,controllers.
- XML-RPC is used as webservices.
- Looks similar to ruby on rails.
Yii is an open source, object-oriented, component-based MVC PHP web application framework.
- Best for speed and perfomance.
- More secure than codeigniter.
- Used for creating scalable applications.
- Good Support for HTML5.
- Widget Support.
- Gii is used for creating model,view,controller and module.
- DAO and Active Record Feature.
All the above frameworks have their own unique features which is helpful for some particular projects. Better we shortlist this frameworks as follows,
Codeignitor : For Beginner (Who doesn’t have any MVC pattern knowledge before) and its best fit for small scale apps.
CakePHP: For best fit who have the previous knowledge with RoR (Ruby On Rails) and its best fit and medium scale apps.
Yii: Great MVC and its Gride Generator reduces our table creation burden within seconds. Great for Large Scale Business Apps.
Other than these we recommend Laravel, Symfony, Zend for your future developments. But the learning curve is different for each one.