PHP Framework Comparison 2017: CodeIgniter vs Laravel vs Yii vs CakePHP
Frameworks give us a set of tools to build our web application on top of. These technical tools are packaged together to make a framework for open-source rapid web development in PHP language. PHP is indeed blessed with some great open-source web development Frameworks.
And we are not able to talk about Zend, Phalcon, Fat-free or FuelPHP. All great frameworks in their own right. However, we simply do not have the background knowledge to discuss. All these frameworks are built on MVC (model-view-controller) architecture. The tools such as following are available out-of-the-box with most web Frameworks.
- Structure your application in some pleasant standard patterns
- Built-in classes such as session handling, database, security, user input validation
- Helper functions/classes such as interact with a 3rd party API integration
- Test code quality
- Ability to deploy code quickly
Here we’ll discuss and compare the famous PHP frameworks for their ability against each other. For ease of use, we’ll discuss these frameworks one by one. We’ll later on add more frameworks as we go along to make the PHP framework comparison. We are only adding frameworks which we work with and support for our clients. We will give points to each framework for their performance in a certain aspect. We’ll add more points of discussion in further iterations.
The qualities we’ll be mainly comparing will be
- Trend and popularity
- Structure and Updates
- Libraries and online help
- Database integration
- Ease of development and templating
- Developer cost
So here we start with PHP framework comparison one by one.
CodeIgniter was the original PHP framework. Developed in 2006, it’s been here forever. Its development got slower citing lack of resources for active development. It got stuck in 2.x for a long time but enter latest 3.x in 2015. CodeIgniter is mostly popular in South Asian web developers.
- Trends and popularity: CodeIgniter has been popular always. It provided ease of use in 2.x and hence most web developers preferred CodeIgniter. There are a lot of websites in CodeIgniter and it will stay. However, all the cool kids are now going towards newer frameworks such as Laravel or Phalcon. With most CI apps in 2.x, the popularity has certainly taken a slightly downward turn. 3/5
- Structure and Updates: The structure is MVC (model-view-controller) and provides easy on-boarding. The structure was loosely based on Object-oriented programming but most developers used it according to their needs. The framework used to be case-insensitive. However, since 3.x it has become much strict in its approach in order to take on new heavy hitters such as Laravel and Phalcon. Still there is no support for Composer and Middleware. 3/5
- Libraries and online help: The CodeIgniter provides a lot of built-in functionality and their website has a handy guide for use. However, there is a general consensus that CodeIgniter doesn’t provide the same level of third party libraries that other frameworks such as Laravel or Yii provide. They have now introduced strong caching in 3x. 4/5
- Database integration: CodeIgniter provides relational databases such MySQL or PostgreSQL by default. However, CodeIgniter doesn’t come with composer by default so getting third party libraries for databases such as Mongo will be a chore where you have to test and copy the files manually. CodeIgniter database support is rather lacking. CodeIgniter comes with its ORM tool. 4/5
- Ease of development and templating: CodeIgniter is easy to use and hence the least worrisome learning curve. Along with there being no template engine, there is pure PHP code going around everywhere. 4/5
- Developer cost: CodeIgniter has the most readily available PHP developers. It is very easy to hire CodeIgniter framework development services and they usually work around $10-12 rate but good ones go around $12-15 maximum. 4/5
The Right Software have developed a number of accomplished PHP projects in CodeIgniter and have an expert CodeIgniter development services team. We are also able to help update novelty, out of date CodeIgniter websites to make them up to date with latest framework version or to convert them into other latest frameworks.
Laravel framework is the most popular right now. The first version came out in 2011 so it is relatively a new framework considering that most of PHP frameworks started out in 2011. However, that hasn’t stopped Laravel framework from taking over the PHP web development scene. Laravel is currently on 5.4 version however there are many websites still in Laravel 4 as the jump is a bit steep and manual porting of the code is required. Laravel is most popular in web developers from the 1st world countries such as US, Canada and Europe.
- Trend and popularity: Laravel is at its peak popularity right now. With its style favoring the expressive coding favored by the seasoned developers, Laravel is going from strength to strength. Laravel jobs are what come up the most in freelance circles as well. 5/5
- Structure and Updates: Laravel follows MVC structure of filing. Laravel comes with a command line tool called the Artisan. Which has all the developers drooling over its features. With Artisan you can create models and controls, setup scheduled tasks, queues and custom commands. The other tool Eloquent helps us to interact with database, create helpful magic methods and retrieve data. Laravel updates are common and recurring. 5/5
- Libraries and online help: Laravel’s best help is its own official documentation which is very elaborate and helpful. However, you can get great help from Laracast.com. The number of standard Laravel libraries that you can composer into the Laravel project is staggering. You can find in 100s of libraries in Packagist. SIimilarly, you can find great help on Stackoverflow. 5/5
- Database integration: Laravel comes with its own ORM tool. Laravel comes with migrations for easy port of database changes and versioning. Similarly, Laravel comes with a Seeder tool to introduce test data. Laravel also comes prepackaged with Redis key:value store. Rest, Laravel has packages for every database available. 4/5
- Ease of development and templating: Laravel comes with Blade template engine which is good for frontend developer who do not have to learn PHP. Laravel makes development easier by providing features like routing, database migrations, eloquent and query builder, command line utilities, built in paginations etc. Another very useful feature of laravel is template engine. Using Blade, we can inherit templates as well define sections. 4/5
- Developer cost: Laravel development services are a bit costlier than custom PHP or CodeIgniter. However, Laravel developed projects are most true to its roots of pure strong MVC. That way your end product needs least amount of engineering in coming years. Still, the Laravel developer hourly rate is around $12-18 with the best companies charging a bit more for the overall accomplished experience. 4/5
Laravel is the most popular PHP framework and is here to stay. The Right Software team prefer Laravel framework web development and help our clients by building the code in Laravel.
Yii is a popular framework for web developers from China and Russian block mainly. Yii came about in 2006 from PRADO framework; it followed CodeIgniter in that it remained stuck in 1.0 and 1.1 for a long time until 2014 when the initial mistakes were fixed and a 2.0 was launched. That was when it touched its peak popularity. It’s been slow and downward curve since then. Yii is still on 2.0.x.
- Trend and popularity: Yii’s has been a slow and ponderous journey. Popularity was there a couple of years ago and there are websites and apps developed in Yii from that era which need updates and maintenance. However, Yii is not the first choice these days. 2/5
- Structure and Updates: Yii follows strict MVC approach and strict naming conventions for files. The updates in Yii are not so frequent compared to other frameworks. It was introduced a long time ago and still in version 2.0.x. 3/5
- Libraries and online help: Yii is an oldish framework and hence has a lot of online tutorials and help available for web developers. It has a very good documentation which provides most of the answers. There are enough packages on Packagist.org to make a strong claim. 4/5
- Database integration: Yii provides decent database support, you can work with different databases which includes
SQLite, PostgreSQL, Oracle, MySQL and other relational DBMS. It has built in support ActiveRecord ORM. However, we can find third party packages for MongoDB, Microsoft BI. 4/5
- Ease of development and templating: Development is much more faster in Yii, due to automatic code generation feature, which can be achieved by using its extension named gii. Gii supports both command and gui interface. With gii one can create anything from a simple model to complete CRUD. For more information on gii, please check the documentation. Yii does not utilize any templating system by default, but it has the capability to use third party templating systems like Twig and Smarty ;which might be helpful if someone has a Symfony framework background which uses Twig. 4.5/5
- Developer cost: Yii lies to the advance spectrum of PHP Frameworks and hence the developers may cost a bit more than custom PHP developers or CodeIgniter developers. You should be to hire Yii framework developer in $14-$18 per hour bracket. 3.5/5
Yii Framework is a good choice if you have clients from China or Russia and they require you to update Yii applications to latest versions.
CakePHP framework was one of the original offenders. It came about in 2005 even before CodeIgniter. CakePHP reached peak popularity in 2009 even before its popular version 2.0 release in 2011. It has been a downward journey ever since. Still it is on a respectable version 3.4 and a middling yet solid choice among PHP Frameworks. There are plenty of CakePHP development projects that need updates and modernization.
CakePHP has been popular in Bangladesh most of all places followed by Japan.
- Trend and popularity: As discussed a bit above, CakePHP usage has been going down slowly since 2009. New jobs in CakePHP are coming less as other frameworks have taken over the mantle. 5/5
- Structure and Updates: CakePHP code follows a very strict methodical approach and was actual modelled on Ruby on Rails. The file and database names are strict. The framework follows conventions in naming and is something to be proud of. Laravel Framework took this approach with Artisan based scaffolding. However, its development continues and it has a very active following and release timeline on Github. 4/5
- Libraries and online help: CakePHP has a long history and finding CakePHP help and tutorials on the internet is very easy as there are plenty of resources. CakePHP comes with Composer and should be fairly easy to add vendor libraries. 4/5
- Database integration: Database access itself is a breeze in CakePHP what with all those naming conventions. Framework comes with ORM and query builder tools. CakePHP comes with support for convention relational databases including Oracle. However, for NoSQL databases you have to get third-party libraries. 4/5
- Ease of development and templating: If you follow CakePHP design pattern then you should be fairly set for a quicker development cycle given its adherence to standard practices. Time should be saved. CakePHP follows a crude PHP structure in templates but allows Twig templates which should be great for UI developers. 4/5
- Developer cost: Against all these good points, CakePHP developers should still be fairly easy to get and in the bracket of CodeIgniter in development cost. You should get great CakePHP services in $12-15 per hour. 4/5
CakePHP is a strong choice in light of above discussion against CodeIgniter or Yii. However, CakePHP resembles Laravel too and for clients an cost-beneficial choice behind Laravel for PHP web development.
These are all wonderful frameworks and any would suit you instead of starting from scratch as they bring their own speed and convenience. However, its good that for you PHP web development you should hire a PHP developer with Framework skills that are relevant and modern. Our best bet. Hire Laravel PHP Framework developers.
- Note: This article will expand as more information is added on-going.
- On popular demand, we’ll add more points and frameworks here. Please add your comments to guide us.