{"id":273,"date":"2016-11-01T00:51:14","date_gmt":"2016-11-01T00:51:14","guid":{"rendered":"http:\/\/redmonk.com\/fryan\/?p=273"},"modified":"2017-03-01T17:29:59","modified_gmt":"2017-03-01T17:29:59","slug":"language-framework-popularity-a-look-at-php","status":"publish","type":"post","link":"https:\/\/redmonk.com\/fryan\/2016\/11\/01\/language-framework-popularity-a-look-at-php\/","title":{"rendered":"Language Framework Popularity: A Look at PHP"},"content":{"rendered":"<p><strong>TL; DR<\/strong> \u2013 Laravel is the stand out leader, CodeIgniter and Symfony lead the next tier. \u00a0yiiFramework is on an interesting trajectory. Headline Symfony number are misleading as they miss out all of the projects built upon Symfony.<\/p>\n<p style=\"text-align: center;\"><em>Framework: \u2018a basic structure underlying a system, concept, or text.\u2019 <\/em><\/p>\n<p>We have previously looked at frameworks used with <a href=\"http:\/\/redmonk.com\/fryan\/2016\/09\/08\/language-framework-popularity-a-look-java\/\">Java<\/a> and <a href=\"http:\/\/redmonk.com\/fryan\/2016\/09\/16\/language-framework-popularity-a-look-at-javascript\/\">JavaScript<\/a>, and as we noted one of the factors which drives the popularity of a language is the availability of frameworks and tools which enhance developer productivity, something which my colleague Stephen O\u2019Grady\u00a0<a href=\"http:\/\/redmonk.com\/sogrady\/2011\/04\/27\/frameworks-lead-adoption\/\">has covered in the past<\/a><\/p>\n<p>In the <a href=\"http:\/\/redmonk.com\/sogrady\/2016\/07\/20\/language-rankings-6-16\/\">bi-annual RedMonk Programming Language Rankings we consistently<\/a> see PHP rating very highly. PHP is a language the generates a classic <a href=\"https:\/\/en.wikipedia.org\/wiki\/Marmite\">marmite<\/a> like response when it comes up in conversations. To say that there is quite a high level of dismissiveness of the language among certain communities is somewhat of an understatement. Indeed, this was demonstrated, and <a href=\"https:\/\/twitter.com\/lornajane\/status\/789391144153075712\">quite rightly dismissed<\/a>, at a software architecture conference in London recently. To discount PHP as an important language is not just wrong, it is to fundamentally misunderstand how a huge volume of software is currently being written.<\/p>\n<p>In many ways PHP has been a victim of its own success. The number of outdated and poorly written articles and tutorials that are available online is staggering, and unfortunately for PHP these old articles are the first port of a call for many beginners. A large amount of dismissiveness towards PHP is due to this unfortunate legacy. Community projects such as Josh Lockhart\u2019s <a href=\"http:\/\/www.phptherightway.com\/\">PHP The Right Way<\/a> are helping to address this.<\/p>\n<p>For the purposes of this analysis we looked at the frameworks we hear mentioned most frequently in our conversations that touch on PHP. This is by no means a fully exhaustive list, but it does capture the most popular frameworks that we hear about being used with PHP.<\/p>\n<p>If there is a framework you feel we should be looking at, please do add a comment below or let me know on twitter<\/p>\n<h2>Framework Popularity<\/h2>\n<p>We first looked across twenty-two frameworks that have been mentioned to us in conversations (the full list is at the end of this piece). As you can observe this is a crowded space, but four major groupings emerge.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-stars-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-277\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-stars-20161031-300x300.png\" alt=\"php-fw-stars-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-stars-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-stars-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-stars-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-stars-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-commits-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-275\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-commits-20161031-300x300.png\" alt=\"php-fw-commits-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-commits-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-commits-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-commits-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-commits-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-issues-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-276\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-issues-20161031-300x300.png\" alt=\"php-fw-issues-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-issues-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-issues-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-issues-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-fw-issues-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>From these we focused our analysis on the following frameworks with over five thousand stars on github.<\/p>\n<ul>\n<li><a href=\"https:\/\/laravel.com\/\">Laravel<\/a><\/li>\n<li><a href=\"https:\/\/www.codeigniter.com\/\">CodeIgniter<\/a><\/li>\n<li><a href=\"https:\/\/symfony.com\/\">Symfony<\/a><\/li>\n<li><a href=\"http:\/\/www.yiiframework.com\/\">yiiFramework<\/a><\/li>\n<li><a href=\"https:\/\/phalconphp.com\/en\/\">Phalcon-PHP<\/a><\/li>\n<li><a href=\"http:\/\/www.slimframework.com\/\">Slim<\/a><\/li>\n<li><a href=\"http:\/\/cakephp.org\/\">CakePHP<\/a><\/li>\n<li><a href=\"https:\/\/framework.zend.com\/\">Zend<\/a><\/li>\n<\/ul>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-stars-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-281\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-stars-20161031-300x300.png\" alt=\"php-5k-fw-stars-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-stars-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-stars-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-stars-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-stars-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-commits-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-278\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-commits-20161031-300x300.png\" alt=\"php-5k-fw-commits-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-commits-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-commits-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-commits-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-commits-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-issues-20161031-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-280\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-issues-20161031-1-300x300.png\" alt=\"php-5k-fw-issues-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-issues-20161031-1-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-issues-20161031-1-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-issues-20161031-1-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/Php-5k-fw-issues-20161031-1-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Looking at these frameworks on Twitter we also see Laravel far out in front.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/10\/php-fw-twitter-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-274\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/10\/php-fw-twitter-20161031-300x180.png\" alt=\"php-fw-twitter-20161031\" width=\"300\" height=\"180\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/10\/php-fw-twitter-20161031-300x180.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/php-fw-twitter-20161031-768x460.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/10\/php-fw-twitter-20161031-1024x613.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>An interesting aspect across all of the PHP frameworks is the level of genuinely independent contributions. Many people have built other businesses on the basis of their expertise with, and contributions too, frameworks. This level of contribution is significantly higher than what we see in other languages, and for this reason we have not broken out commits and issues across all the frameworks in the same manner as we did for other language \u2013 in some instances an individual is listed as the top commercial contributor.<\/p>\n<h2>Commercial and Community Contributions to Top Frameworks<\/h2>\n<h3>Laravel<\/h3>\n<p><a href=\"http:\/\/laravel.com\">Laravel<\/a> is by far the most popular framework out there, and in conversations with agency developers in particular they love its approach and simplicity. The bulk of contributions come from the frameworks original author <a href=\"https:\/\/twitter.com\/taylorotwell\">Taylor Otwell<\/a>.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Laravel-ccc-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-283\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Laravel-ccc-20161031-300x300.png\" alt=\"php-laravel-ccc-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Laravel-ccc-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Laravel-ccc-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Laravel-ccc-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Laravel-ccc-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Laravel-cci-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-284\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Laravel-cci-20161031-300x300.png\" alt=\"php-laravel-cci-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Laravel-cci-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Laravel-cci-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Laravel-cci-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Laravel-cci-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>When looking at Laravel we should also take into account that it is built in part on <a href=\"http:\/\/symfony.com\">Symfony<\/a>.<\/p>\n<h3>CodeIgniter<\/h3>\n<p><a href=\"https:\/\/www.codeigniter.com\/\">CodeIgniter<\/a> was originally developed by <a href=\"https:\/\/ellislab.com\/\">EllisLab<\/a>, but they no longer steward the project having requested a new owner for the project in mid 2013 and finally moving the project under the auspices of the <a href=\"http:\/\/www.bcit.ca\/cas\/computing\/\">British Columbia Institute of Technology<\/a> in late 2014. The support and development is very much community based at this point, and there is still significant activity in the project.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CodeIgniter-ccc-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-285\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CodeIgniter-ccc-20161031-300x300.png\" alt=\"php-codeigniter-ccc-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CodeIgniter-ccc-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CodeIgniter-ccc-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CodeIgniter-ccc-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CodeIgniter-ccc-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CodeIgniter-cci-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-286\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CodeIgniter-cci-20161031-300x300.png\" alt=\"php-codeigniter-cci-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CodeIgniter-cci-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CodeIgniter-cci-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CodeIgniter-cci-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CodeIgniter-cci-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h3>Symfony<\/h3>\n<p><a href=\"http:\/\/symfony.com\">Symfony<\/a> has really made its marked as a building block for other software (e.g. <a href=\"https:\/\/magento.com\/tech-resources\/download\">Magento<\/a>, <a href=\"https:\/\/www.drupal.org\/\">Drupal<\/a>, <a href=\"https:\/\/www.phpbb.com\/\">phpBB<\/a> and so forth) as well as being a component of other frameworks such as <a href=\"http:\/\/laravel.com\">Laravel<\/a>. The main company contributing to <a href=\"http:\/\/symfony.com\">Symfony<\/a> is <a href=\"https:\/\/sensiolabs.com\/\">Sensiolabs<\/a>.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Symfony-ccc-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-287\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Symfony-ccc-20161031-300x300.png\" alt=\"php-symfony-ccc-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Symfony-ccc-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Symfony-ccc-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Symfony-ccc-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Symfony-ccc-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Symfony-cci-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-288\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Symfony-cci-20161031-300x300.png\" alt=\"php-symfony-cci-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Symfony-cci-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Symfony-cci-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Symfony-cci-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Symfony-cci-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>In some respects\u00a0we could say that Symfony is the most popular PHP framework of all, but many of the people using Symfony in other projects are unlikely to be aware of its importance as a component.<\/p>\n<h3>CakePHP<\/h3>\n<p>The <a href=\"http:\/\/cakephp.org\">CakePHP<\/a> community is very vibrant, and the main commercial company around CakePHP is <a href=\"http:\/\/cakedc.com\/\">CakeDC<\/a>. On the contributions front however <a href=\"https:\/\/www.freshbooks.com\/\">FreshBooks<\/a> come out as the leader by virtue of the contributions of core developer <a href=\"https:\/\/twitter.com\/mark_story\">Mark Story<\/a>.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CakePHP-ccc-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-289\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CakePHP-ccc-20161031-300x300.png\" alt=\"php-cakephp-ccc-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CakePHP-ccc-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CakePHP-ccc-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CakePHP-ccc-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CakePHP-ccc-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CakePHP-cci-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-290\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CakePHP-cci-20161031-300x300.png\" alt=\"php-cakephp-cci-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CakePHP-cci-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CakePHP-cci-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CakePHP-cci-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-CakePHP-cci-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h3>Slim<\/h3>\n<p><a href=\"http:\/\/www.newmediacampaigns.com\/\">Slim-PHP<\/a> is a micro framework, with a deliberately limited scope. When mentioned in conversation it tends to be primarily in conjunction with creating APIs.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Slim-ccc-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-291\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Slim-ccc-20161031-300x300.png\" alt=\"php-slim-ccc-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Slim-ccc-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Slim-ccc-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Slim-ccc-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Slim-ccc-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Slim-cci-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-292\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Slim-cci-20161031-300x300.png\" alt=\"php-slim-cci-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Slim-cci-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Slim-cci-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Slim-cci-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Slim-cci-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>It should be noted that the primary commercial contributions count is not truly reflective of the project here as <a href=\"http:\/\/www.newmediacampaigns.com\/\">New Media Campaigns<\/a> are a design agency where <a href=\"https:\/\/twitter.com\/codeguy\">Josh Lockhart<\/a>, founder of the project works, albeit they are obviously very supportive of the project. As noted above Josh is also the author of <a href=\"https:\/\/github.com\/codeguy\/php-the-right-way\">PHP The Right Way<\/a>.<\/p>\n<h3>yiiFramework<\/h3>\n<p>The <a href=\"http:\/\/www.yiiframework.com\/\">yiiFramework<\/a> is truly a community movement. As we look at the contributions <a href=\"https:\/\/developer.capitalone.com\/community\/?io=true\">Capital One<\/a> comes out on top, but that is by virtue of the contributions made by Qianq Xue, however the bulk of these contributions were made prior to his current role. What is certain, however, is that Capital One will continue to support the Qianq\u2019s opensource efforts.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-yiiFramework-ccc-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-293\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-yiiFramework-ccc-20161031-300x300.png\" alt=\"php-yiiframework-ccc-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-yiiFramework-ccc-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-yiiFramework-ccc-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-yiiFramework-ccc-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-yiiFramework-ccc-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-yiiFramework-cci-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-294\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-yiiFramework-cci-20161031-300x300.png\" alt=\"php-yiiframework-cci-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-yiiFramework-cci-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-yiiFramework-cci-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-yiiFramework-cci-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-yiiFramework-cci-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h3>Zend<\/h3>\n<p>The <a href=\"https:\/\/framework.zend.com\/\">Zend Framework<\/a> started out in 2006 and is now stewarded by <a href=\"http:\/\/zend.com\">Zend Technologies<\/a>. The latest major release happened earlier this year.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Zend-ccc-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-295\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Zend-ccc-20161031-300x300.png\" alt=\"php-zend-ccc-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Zend-ccc-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Zend-ccc-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Zend-ccc-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Zend-ccc-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Zend-cci-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-296\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Zend-cci-20161031-300x300.png\" alt=\"php-zend-cci-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Zend-cci-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Zend-cci-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Zend-cci-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Zend-cci-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>Phalcon-PHP<\/h3>\n<p><a href=\"https:\/\/phalconphp.com\/en\/\">Phalcon<\/a> is a high performance PHP framework delivered as a C extension. Interestingly core parts are also written in <a href=\"https:\/\/zephir-lang.com\/\">Zephir<\/a>. Almost all of the contributions to Phalcon are community based, but for the purposes of this analysis we have marked commits from the core team as PhalconPHP.<\/p>\n<p><a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Phalcon.PHP-ccc-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-297\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Phalcon.PHP-ccc-20161031-300x300.png\" alt=\"php-phalcon-php-ccc-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Phalcon.PHP-ccc-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Phalcon.PHP-ccc-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Phalcon.PHP-ccc-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Phalcon.PHP-ccc-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Phalcon.PHP-cci-20161031.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-298\" src=\"http:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Phalcon.PHP-cci-20161031-300x300.png\" alt=\"php-phalcon-php-cci-20161031\" width=\"300\" height=\"300\" srcset=\"https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Phalcon.PHP-cci-20161031-300x300.png 300w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Phalcon.PHP-cci-20161031-150x150.png 150w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Phalcon.PHP-cci-20161031-768x768.png 768w, https:\/\/redmonk.com\/fryan\/files\/2016\/11\/PHP-Phalcon.PHP-cci-20161031-1024x1024.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2>Licensing &amp; Commercial Support<\/h2>\n<p>When we move to large scale enterprise deployments, commercial support can become a significant factor for software, although this is not a significant concern for many in\u00a0the PHP\u00a0community. This is the area where Zend does come to the fore\u00a0out in terms of enterprise customers, but as part of their wider commercial offering.<\/p>\n<table border=\"1\">\n<tbody>\n<tr>\n<td><b>Framework<\/b><\/td>\n<td><b>Commercial Support<\/b><\/td>\n<td><b>License<\/b><\/td>\n<\/tr>\n<tr>\n<td>Laravel<\/td>\n<td>&#8211;<\/td>\n<td>MIT<\/td>\n<\/tr>\n<tr>\n<td>CodeIgniter<\/td>\n<td>&#8211;<\/td>\n<td>MIT<\/td>\n<\/tr>\n<tr>\n<td>Symfony<\/td>\n<td>Sensiolabs<\/td>\n<td>MIT<\/td>\n<\/tr>\n<tr>\n<td>yiiFramework<\/td>\n<td>&#8211;<\/td>\n<td>BSD<\/td>\n<\/tr>\n<tr>\n<td>Phalcon-PHP<\/td>\n<td>&#8211;<\/td>\n<td>BSD<\/td>\n<\/tr>\n<tr>\n<td>Slim<\/td>\n<td>&#8211;<\/td>\n<td>MIT<\/td>\n<\/tr>\n<tr>\n<td>CakePHP<\/td>\n<td>CakeDC<\/td>\n<td>MIT<\/td>\n<\/tr>\n<tr>\n<td>Zend<\/td>\n<td>Zend Technologies<\/td>\n<td>BSD<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>List of Frameworks Considered<\/h2>\n<ul>\n<li><a href=\"https:\/\/laravel.com\/\">Laravel<\/a><\/li>\n<li><a href=\"https:\/\/www.codeigniter.com\/\">CodeIgniter<\/a><\/li>\n<li><a href=\"https:\/\/symfony.com\/\">Symfony<\/a><\/li>\n<li><a href=\"http:\/\/www.yiiframework.com\/\">yiiFramework<\/a><\/li>\n<li><a href=\"https:\/\/phalconphp.com\/en\/\">Phalcon-PHP<\/a><\/li>\n<li><a href=\"http:\/\/www.slimframework.com\/\">Slim<\/a><\/li>\n<li><a href=\"http:\/\/cakephp.org\/\">CakePHP<\/a><\/li>\n<li><a href=\"https:\/\/framework.zend.com\/\">Zend<\/a><\/li>\n<li><a href=\"http:\/\/clancats.io\">ClanCats<\/a><\/li>\n<li><a href=\"http:\/\/www.cygniteframework.com\/\">Cygnite<\/a><\/li>\n<li><a href=\"https:\/\/fatfreeframework.com\/home\">Fat Free<\/a><\/li>\n<li><a href=\"http:\/\/fuelphp.com\/\">Fuel PHP<\/a><\/li>\n<li><a href=\"https:\/\/kohanaframework.org\/\">Kohanna<\/a><\/li>\n<li><a href=\"https:\/\/limonade-php.github.io\/\">Limonade<\/a><\/li>\n<li><a href=\"http:\/\/li3.me\/\">Lithium<\/a><\/li>\n<li><a href=\"https:\/\/lumen.laravel.com\/docs\/5.2\">Lumen<\/a><\/li>\n<li>MicroMVC<\/li>\n<li><a href=\"http:\/\/flightphp.com\/\">FlightPHP<\/a><\/li>\n<li><a href=\"https:\/\/phpixie.com\/\">PHPixie<\/a><\/li>\n<li><a href=\"http:\/\/www.phreeze.com\/\">Phreeze<\/a><\/li>\n<li><a href=\"http:\/\/silex.sensiolabs.org\/\">Silex<\/a><\/li>\n<li>YAF<\/li>\n<\/ul>\n<p><strong>A Note on Packagist Stats<\/strong><\/p>\n<p>We have looked at the download counts on <a href=\"http:\/\/packagist.org\">packagist.org<\/a>, but decided not to reference them due to the way dependencies are mapped out, and how this impacts the statistics projects are publishing for cumulative downloads.<\/p>\n<p><strong>Notes on the analysis<\/strong><\/p>\n<ul>\n<li>Data was pulled at the end of\u00a0October 2016<\/li>\n<li>Where possible we have identified commercial contributions to a project, but there will be some minor gaps and inaccuracies in this mapping.<\/li>\n<\/ul>\n<p><strong>Disclosures<\/strong>: Rogue Wave (owners of Zend) are a current RedMonk client.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TL; DR \u2013 Laravel is the stand out leader, CodeIgniter and Symfony lead the next tier. \u00a0yiiFramework is on an interesting trajectory. Headline Symfony number are misleading as they miss out all of the projects built upon Symfony. Framework: \u2018a basic structure underlying a system, concept, or text.\u2019 We have previously looked at frameworks used<\/p>\n","protected":false},"author":40,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,40,32,36],"tags":[],"class_list":["post-273","post","type-post","status-publish","format-standard","hentry","category-developers","category-featured-data","category-frameworks","category-php"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/posts\/273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/comments?post=273"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/posts\/273\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/media?parent=273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/categories?post=273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/fryan\/wp-json\/wp\/v2\/tags?post=273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}