PHP continues to dominate as the most popular web programming language in use today–recent figures indicate that 82% of all web servers use it to power their websites and apps. Subsequently, a plethora of MVC frameworks have been developed over the years to enable developers to build well-structured, easily maintainable web applications. However, this abundance is a double-edged sword: as PHP frameworks tend to rise and fall quickly in popularity and support, choosing one to implement for mission-critical applications can be a challenge. For example, long-time favorite CodeIgniter has seen a rapid decline in recent years due to loss of commercial support from its original creator, EllisLab. Despite the framework's popularity and merits (and finding a new owner at BCIT), CodeIgniter adoption continues to wane. It's highly unlikely to recover its position as the most popular PHP MVC framework, with developers flocking in droves to other more stable options. The following are the top 5 PHP MVC frameworks in use today, evaluated and ranked based on criteria such as skill level required/learning curve, security, and community support.
1. Laravel Often touted as the successor to CodeIgniter, Laravel shares many of its qualities–namely ease of use and a gradual learning curve for less experienced developers. The framework is relatively fast in terms of page rendering, and despite being a newer player in the arena, has been embraced by the developer community with open arms. In fact, Laravel was the most popular and watched PHP project in GitHub for 2014. In the same year, however, security vulnerabilities were discovered in the framework's API. Notwithstanding, Laravel continues to follow a rapid adoption curve, and tops this list as the best PHP framework.
2. Cake Cake is a perennial favorite among PHP MVC framework aficionados–it's stable, fast, and has a broad community of supporters. Though not as easy to learn as CodeIgniter or Laravel, Cake is still lauded as a good PHP MVC framework for beginner and intermediate PHP developers. Its code generation and scaffolding features can speed up web development significantly, and it features a security component that makes implementing tighter security in one's web application easy.
3. Zend 2 For building enterprise-grade applications with PHP, Zend 2 is the optimal framework. Zend 2 boasts an impressive roster of industry partners and customers, including IBM, Cisco, Credit Suisse, and DHL, to name a few. With so many high profile adopters, Zend 2 is one of the more secure framework options. All this robustness has a price, however; the framework can be difficult to learn for beginner and intermediate developers.
4. Symfony Symfony is a high-performance PHP framework that is stable, secure, and a good compromise between sophistication and ease of use. Advanced developers appreciate its structure, application testing and maintenance features (e.g., built-in unit testing with PHPUnit), while those with less experience should be able to become proficient in the framework fairly quickly.
5. Yii Yii is a high-performance framework that features many components for accelerating the creation of web applications–most notably, a powerful scaffolding functionality that can significantly speed up development time. Out of the box, the framework comes with many security components for making web applications more secure, and has a large following of developers and supporters.