TL; DR – Laravel is the stand out leader, CodeIgniter and Symfony lead the next tier. yiiFramework is on an interesting trajectory. Headline Symfony number are misleading as they miss out all of the projects built upon Symfony.
Framework: ‘a basic structure underlying a system, concept, or text.’
We have previously looked at frameworks used with Java and JavaScript, 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’Grady has covered in the past
In the bi-annual RedMonk Programming Language Rankings we consistently see PHP rating very highly. PHP is a language the generates a classic marmite 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 quite rightly dismissed, 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.
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’s PHP The Right Way are helping to address this.
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.
If there is a framework you feel we should be looking at, please do add a comment below or let me know on twitter
Framework Popularity
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.
From these we focused our analysis on the following frameworks with over five thousand stars on github.
Looking at these frameworks on Twitter we also see Laravel far out in front.
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 – in some instances an individual is listed as the top commercial contributor.
Commercial and Community Contributions to Top Frameworks
Laravel
Laravel 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 Taylor Otwell.
When looking at Laravel we should also take into account that it is built in part on Symfony.
CodeIgniter
CodeIgniter was originally developed by EllisLab, 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 British Columbia Institute of Technology in late 2014. The support and development is very much community based at this point, and there is still significant activity in the project.
Symfony
Symfony has really made its marked as a building block for other software (e.g. Magento, Drupal, phpBB and so forth) as well as being a component of other frameworks such as Laravel. The main company contributing to Symfony is Sensiolabs.
In some respects we 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.
CakePHP
The CakePHP community is very vibrant, and the main commercial company around CakePHP is CakeDC. On the contributions front however FreshBooks come out as the leader by virtue of the contributions of core developer Mark Story.
Slim
Slim-PHP is a micro framework, with a deliberately limited scope. When mentioned in conversation it tends to be primarily in conjunction with creating APIs.
It should be noted that the primary commercial contributions count is not truly reflective of the project here as New Media Campaigns are a design agency where Josh Lockhart, founder of the project works, albeit they are obviously very supportive of the project. As noted above Josh is also the author of PHP The Right Way.
yiiFramework
The yiiFramework is truly a community movement. As we look at the contributions Capital One 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’s opensource efforts.
Zend
The Zend Framework started out in 2006 and is now stewarded by Zend Technologies. The latest major release happened earlier this year.
Phalcon-PHP
Phalcon is a high performance PHP framework delivered as a C extension. Interestingly core parts are also written in Zephir. 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.
Licensing & Commercial Support
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 the PHP community. This is the area where Zend does come to the fore out in terms of enterprise customers, but as part of their wider commercial offering.
Framework | Commercial Support | License |
Laravel | – | MIT |
CodeIgniter | – | MIT |
Symfony | Sensiolabs | MIT |
yiiFramework | – | BSD |
Phalcon-PHP | – | BSD |
Slim | – | MIT |
CakePHP | CakeDC | MIT |
Zend | Zend Technologies | BSD |
List of Frameworks Considered
- Laravel
- CodeIgniter
- Symfony
- yiiFramework
- Phalcon-PHP
- Slim
- CakePHP
- Zend
- ClanCats
- Cygnite
- Fat Free
- Fuel PHP
- Kohanna
- Limonade
- Lithium
- Lumen
- MicroMVC
- FlightPHP
- PHPixie
- Phreeze
- Silex
- YAF
A Note on Packagist Stats
We have looked at the download counts on packagist.org, 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.
Notes on the analysis
- Data was pulled at the end of October 2016
- Where possible we have identified commercial contributions to a project, but there will be some minor gaps and inaccuracies in this mapping.
Disclosures: Rogue Wave (owners of Zend) are a current RedMonk client.
No Comments