PHP Frameworks: Hall of Fame
2 years ago
Progress isn't made by early risers.
It's made by lazy men trying to find easier ways to do something.
Robert A. Heinlein
Software development itself is a complicated process consuming plenty of time. Neverending human passion for optimisation and facilitation created frameworks. Framework is a tool that helps to drastically speed up the application development process and raises it to a new level. Using framework gives numerous advantages compared to native programming languages. The major pros include unification of architecture structure, code standardization, and reuse of generic components. As developers have a lot of time saved by using a framework they could focus on the code quality and sustainability.
In the evergrowing world of web development services, the laws of survival are tough. There are enough frameworks to satisfy even the most demanding software engineers, however the wider choice you have, the more difficult it is to make up your mind. Thus a framework should actually meet the range of the developers’ requirements, be up to date, and have its own savour to remain in demand. The question of “Which framework is the best?” seems to be not less eternal than “Microsoft or Apple?” or “Does God exist?”. It results in holy wars, ambassadors of one framework and haters of another, doubting newbies, sceptics, omniscient experts and other amusing characters that exist in any field of human activity. We took PHP as one of the most popular web programming languages and focused on its best frameworks; then we tried to outline some of their features, which may differ from those laudatory promotional texts you can easily find on the official sites and communities.
Considered the most friendly for newbie developers thanks to it almost absent learning curve, Laravel is number one in our list. Whether it's good or bad is a topic for another many-hours-long discussion, but perfect documentation and support of a large community is a doubtless advantage. Another acknowledged feature lies in the fact that Laravel is developer friendly, which increases the number of its supporters. “Powerful” and “elegant” Laravel is sometimes compared to CodeIgniter, for some of their common features, but unlike Laravel, CodeIgniter is believed to be “dead”. There’s another fact in favor of Laravel - along with other popular packages it contains some components of Symfony which is really good and makes it more reliable. A huge plus to its reputation is that Laravel is supported by Facebook HHMV, so take it seriously.
As a framework with a small footprint, CodeIgniter is said to be a “fully baked” PHP framework that will be useful for web developers who need a simple and fine instrument. Its core requires only a few libraries so you are free to quickly download the needed ones from the rich set of available content. It is a nice choice to start with, when you are not sure which framework you like most. As we previously said, CodeIgniter isn’t going on anymore. Sad but true. Despite that its system is lean and agile, the whole framework requires almost no configuration and allows to build full-featured applications. Anyway, it is a good toolkit for your purposes.
Symfony is considered to be the most adjustable and flexible of the list. Even being somewhat bloated and sometimes slow-performing because of feature-richness, it’s one of the headliners. One of its brilliant features is bundles, which greatly speed up the development. The greatest in Symfony is that it is a full-stack framework which gives the possibility to get things done just the way you want. Yes, its learning curve is quite steep which is an advantage and a drawback at the same time. The drawback is obvious, the advantage is that it separates skilled developers from newbies. Symfony provides full control over an architecture and is a perfect solution for enterprise purposes.
Zend is the most ambiguous framework. Reviews range from passionate to “extremely complicated, the worst I have known so far” or even “sore thumb from the bunch of all frameworks”. It is criticized for its syntax and glorified for possibility to implement the framework and its components in the way you want. Nevertheless, Zend 2 is one of the leaders, as adjustable as Symfony, allowing you to take necessary libraries not being limited to use the whole framework. It also has more than detailed documentation examples and perfect stackoverflow. Many developers are inclined to think that it is a great PHP class library which significantly expands your possibilities, but as a web framework Zend leaves much to be desired.
Known for its proven rapid performance, it has one important feature - it is written in C, which gives it a big speed advantage. The question about how this affects its adjustability could be a topic for another long discussion. To be honest, Phalcon is a good and promising workhorse that really deserves to be in trend and to grow further. Its ORM is easy to use and the documentation is nice and sufficient. Phalcon also has very little overhead. There could be difficulty digging through the library code in the process of developing because of its portability, but is not so dramatic.
This framework has big army of followers for a good reason. Everything is built-in, just setup your database and fasten your seatbelt. There are additional measures of security to keep your application safe. CakePHP is said to be your one and only from the initial request and to the stage of final rendering of a web page.
Here it comes, almost impeccable framework according to predominant vox populi. A little time to learn and you have convenient tool for developing web applications of the highest quality. Well-designed, having a full range of necessary features Yii is truly worth its name - Chinese for “easy”.
As you must have noticed, we give no recommendations, no comparative analysis and reveal no lifehacks. The violent truth is that it's completely up to you - just as always, which framework to choose. It depends on your requirements, skills, available time and other options. Don’t constrain yourself to a single framework, search for the best alternative and never hesitate to doubt, check and ask for advice.