PHP – the ugly duckling of web development

PHP – the dominant web player

The majority of web applications are written in PHP, whether you like it or not, and PHP used to be the #1 or #2 programming language just less than five years ago (2016).

But now PHP is out of the TOP 10 in all the benchmarks.

PHP is dying’ articles are very popular nowadays, but still over 70% of the web pages and applications are served by PHP engines. So it’s far from being ‘dead’ and even obsolete.  Let’s take a look at this ugly duckling of web development. 

Is its bad reputation deserved? Is it worth it to create new web apps in PHP?

This time we will skip the usual intro into the language, as 20+ years of market presence allow us to do so.

 

PHP pros and improvements

The language and the runtime have been around for more than twenty years already. The developer base is still very numerous, and there are regular significant updates to the language and high profile conferences.

There are constant updates to the runtime and the language, improving its type system and features making them suitable for larger projects, with a faster runtime (200%-300% performance increase compared to the old versions). The regular updates and yearly release cycle for major changes make it easier to update existing legacy applications, and to be able to benefit from the new improvements.

The cloud support is great as all the clouds have native PHP runtimes tightly integrated with their cloud environments, thus working efficiently and effectively from an economical perspective. 

PHP has a vast number of great libraries and frameworks and has been on the market for a long time; almost all the typical development needs can be served with existing libraries.

PHP is still considered easy to learn for new developers. The newcomers especially value how easy it is to integrate PHP apps with 3rd party authentication providers, payment gateways, etc. There are always ready to use examples proven in action,  so no need to reinvent the wheel.

→ Read about Full cycle development and developers

Clean and maintainable code can be written in the current PHP version and it is not cursed by the limitations of the technology of being ‘bad’ from the code quality standpoint. Unfortunately, fewer and fewer technologists even take a look at the latest improvements and benefits in the newer versions of PHP.

 

PHP’s bad reputation – valid and invalid points

The number one con of PHP is its bad reputation, which has been haunting it from the very beginning.

This is not accidental, as PHP developers created thousands of poorly written applications which were then rewritten using Java or .NET into more professional looking code.

In the beginning it was also the fault of the technology itself, as it was very dynamic, interpreted, and allowed developers to do almost anything in any way, thus deeming it not suitable for large projects.

As a result, pro developers used to hide their PHP beginnings from their CVs and never wanted to look back again.

Resulting from its poor reputation is the constant decrease in popularity, obviously not something that developers would like to see in their careers.

Competing technologies, such as Node, Ruby, and even lately Go, are stealing the thunder.

Those who’ve decided to focus on heavy enterprise applications do it in Java or C#.

It’s hard to meet a very good PHP developer today, because of this bad reputation of not being a ‘serious’ enterprise-level language.

→ Read more about 10x developer – devs are not the same, embrace that

 

Will PHP 8 turn the tide?

PHP is often referred to as an example of the decline in popularity of a given technology, which used to be at the top, but now is in an inevitable fall. I have to admit that after analyzing the latest changes in PHP 7 and those planned for PHP 8, it’s not a bad technology and certainly not something that is in a ‘low maintenance’ mode. 

It’s definitely playing catch up here, while preserving the compatibility with the vast ocean of existing applications.

Only time will tell if the new features and runtime improvements will help PHP to regain its lost ground.

Our web apps team is an example of a professional PHP team who can use the technology to create robust business applications while taking advantage of the latest achievements of this technology.

The motivation behind this article comes from my fellow colleague, Ingo Steinke, who brilliantly knows how to use PHP for business purposes.

 

Ingo Steinke – web development and performance optimization expert at Avenga Germany

What is your experience with PHP?

I had my first glance in the 1990s when it was called PHP/FI.  I rediscovered PHP about ten years later to find that it had outgrown its teething troubles and that it had already outlasted several trends that had come and gone. Although I am familiar with the popularity of JavaScript and the rise of new programming languages, I was not aware of the extent of criticism against PHP that seemed to have spread amongst software developers. After the amazing performance improvements that came with PHP 7, I am looking forward to learning what PHP 8 has to offer.

 

What do you use it for?

I mainly use PHP to extend and customize third-party software. For Avenga’s wao.io service, I developed cache control plugins for Shopware and WordPress. Shopware is a popular German e-commerce platform which has been featured in the Gartner Magic Quadrant for Digital Commerce 2020 alongside Shopify and Salesforce. Customers of our web optimization service can use our plugins to conveniently clear their optimization cache after updating their online shops and websites.

 

What is your developer experience?

PHP has evolved into a clean and mature language with well-established standards and tools, like static code analysis with PHPStan. Linting, automatic code completion and suggestions on how to correct coding errors can be activated in the widely used code editors, like Visual Studio Code. If you have used Node.js or React before, you will find yourself familiar with the Composer Dependency Manager which works similar to npm and Yarn.

My latest PHP project, developing a Shopware plugin for our wao.io customers, has been a pleasure. Shopware 6 is built on top of the Symfony 4 framework which provided me with modern language features like dependency injection and a dynamic front-end with Vue.js and Twig templates. Everything integrates so well, I sometimes even forget I am writing in PHP or JavaScript.

Back to overview