PHP is probably the most popular scripting language for web projects. I’m not a web developer but one of my best friends is. She says that most, if not all current commercial web projects she knows of is being done in PHP. With that in mind, here are what she considers the seven most popular PHP frameworks for 2017.
Also see our article How To Send Text Messages with PHP
First, let us cover the PHP framework.
What is a PHP framework? A PHP framework is a platform that includes everything necessary to build web applications. Like Photoshop contains most of the tools and libraries you would need to create professional images and the ability to bolt-on other plugins and tools for things not covered in the core app, a PHP framework does much the same thing.
It has most of the tools needed to make development faster and easier and is a pretty self-contained platform from within which to develop. You can then add extra features or tools using packages.
For hobbyists or small projects, a PHP framework isn’t really necessary. For larger or collaborative projects, a PHP framework can reduce development time, reduce repetition and enable automation of some simple tasks. It can also provide security and database features you would otherwise have to program yourself.
Seven popular PHP frameworks
That’s the what of PHP frameworks, now let us take a look at the who.
Laravel is widely regarded as one of the best PHP frameworks on the market. It was released back in 2011 and has been steadily upgraded and refreshed in that time. It enables you to quickly build PHP applications up to a massive scale using the MVC architecture. It has the best documentation of all PHP frameworks too.
Being so established, Laravel has a lot of tools, packages and addons that make life easier, applications more powerful or generally enhance Laravel to a high degree. Apparently, the Blade templating engine makes life much easier too.
Symfony is second to Laravel in terms of popularity and power. It is also regarded as very stable, fast and modular. Drupal is built on Symfony, as are many large web platforms and applications. Supported by a huge community of developers, the framework has lots of addons, great documentation and a very mature featureset.
It also uses the MVC architecture and works with MySQL and other database architectures. The Composer function is apparently a signature feature of Symfony and one of the reasons it is so highly regarded as it makes managing PHP packages very simple.
Phalcon is also highly regarded but not as much as Laravel or Symfony. It is a newer PHP framework that also uses the MVC architecture. It also works with HMVC too. Phalcon’s strength is speed. It uses C-extension which apparently makes it very fast at processing requests and performing actions.
Phalcon has been with us since 2012 and has been steadily refined and updated ever since. It includes multi-database support, Document Mapping for MongoDB, template engines, form builders and lots of other tools.
Codeigniter is known for enabling fast application development. It isn’t as all-encompassing as Symfony or Laravel but still has everything you need in a PHP framework. Codeigniter is also apparently easier to get to grips with than these others too thanks to simpler UI, good documentation and a strong community.
Codeigniter has all the libraries necessary for everything you are likely to require plus the ability to download or build your own. The framework is small and fast, which is its strength. It isn’t completely built with the MVC architecture which can take a little adjustment if you’re an experienced developer looking for alternatives. On the other hand, if you’re a newbie, Codeigniter is recognized as being very beginner-friendly.
CakePHP is another PHP framework that is friendly to beginners. It is over ten years old and has been refined constantly over that time. It still has a huge community that helps maintain and develop it and addons for it. It uses the MVC architecture and supports both PHP5 and PHP4, the latter of which the others in this list do not support.
It has powerful code generation tools, manages most of the XML code for you, includes database tools, validation, translation, authentication and has lots of security features too. There is also premium support should you want to use the framework commercially.
Zend Framework is a modular PHP framework that allows you to create enterprise-level applications quickly. It is known for being very stable and for having a huge range of tools and plugins you can use. It also offers end-to-end encryption and lots of other security features that are gaining a lot of attention from customers.
Zend Framework uses the MVC architecture and plays nicely with PHP5.3. It also has database abstraction tools, authentication, feeds, forms and lots of other neat tools. Zend does have a downside though. It is large, complicated in places and is designed for enterprise-level applications. If you are looking to develop smaller application, Zend will not be the ideal. Other than that it is a top performer.
Fuel PHP is another beginner-friendly PHP framework with great documentation. It is open source and has a huge community of dedicated developers and supporters. It uses the MVC architecture and is also compatible with HMVC and ViewModels. It is lightweight yet contains a multitude of tools and libraries necessary to create applications.
It’s strength lies in its ease of use but there are still lots of features including a modular built with lots of packages and modules that include lots of security, dozens of classes, code generators, database tools and ORM features.
While Laravel and Symfony are widely regarded as the best PHP frameworks, the others mentioned in this list are credible alternatives if you don’t like those two. Each has strengths and weaknesses but share enough commonality that you should be able to switch from one to another with the minimum of fuss.
As you can imagine, I had a lot of help composing this list of seven popular PHP frameworks. Any errors or omissions are mine alone though.
Got any other PHP frameworks you use and would recommend? Tell us about them below if you do!