The Wikipedia article on PHP, and other sources, indicate that while PHP is still the predominant server side scripting language on the Internet, 40% of the market failed to upgrade from PHP 5 to PHP 7.
Why did this happen and why does it matter?
PHP is a server side scripting language that was created by a Danish-American programmer named Rasmus Lerdorf who had contributed to the Apache HTTP server.
Lerdorg designed PHP because he wanted to add dynamic elements to his own Personal Home Page.
Later programmers wanted to disassociate itself from home pages and they now say the PHP acronym is a self-referential PHP Hypertext Preprocessor.
The scripting language was a modified version of C that was interpreted by a Apache module using the CGI interface. Apparently, Lerdorff was one of the programmers who worked on the CGI interface. CGI is a very clumsy interface.
Because PHP included just a limited set of functions, discount webhosts felt comfortable adding PHP to their services. The scripting language was good enough for most internet applications and it quickly became the standard.
The original program used the GNU license. The GNU license implements the copy-left ideal and demanded that all programs be opened sourced. This was impractical and PHP adopted a modified license.
Because PHP was a simple scripting language built on top of C, programmers could use a variety of programming styles with PHP. For a variety of reasons, I chose to use a functional approach to the language.
The early versions of PHP had one serious problem: The database interface sent plain text scripts to the database server. Programs that failed to validate the SQL script would open the database to SQL injection attacks.
Looking at my logs, I see that I get several million calls to my servers each year from script kiddies testing for SQL injection holes.
Script kiddies are annoying.
Zeev Suraski and Andi Gutmans created the Zend Engine (ZEev + aNDi = Zend) which integrates with Apache more tightly than CGI and is much faster. This became the most popular install of PHP with PHP 4 and PHP 5.
This company called Zend was now the lead developer in defining the PHP language. Apparently, the company had big ambitions. The image below (made available through Wikicommons) shows the dystopic vision of Zend. By controlling the PHP language, Zend Engine would be the controlled all of the interfaces for millions of web sites.
This power apparently went to the company's head. He who controls PHP will control the world!
The folks at Zend appear to be program snobs. They seemed to buy into the line that Object Oriented Languages are superior to functional languages. They seem to hold that Java is somehow the shining light on the programming hill. PHP must be more like Java!
Zend depricated the insecure database connections used in earlier versions of PHP and forced everyone to use a new database connection called PDO (PHP Data Objects).
PDO uses the class structure which was made popular in C++ and Java.
Technically, PDO is a class and not a true object. It does not adhere to the ideals of Object Oriented Design.
Just because a program opens with the "class" statement does not mean that the program was well designed.
It is easy to prove that PDO is a poor implementation of object-oriented ideas by asking a simple question?
The central idea behind object-design is encapsulation. The question that shows PDO is poorly defined is: "What exactly does PDO encapsulate?"
A database object should encapsulate the database connection. The implementations that I've encountered end up with multiple PDO objects in one script or they end up creating a single God Object.
Both implementations show that PDO has failed in the core objective of object-oriented design. It failed to properly encapsulate the database connection.
I wasted months trying to create a quality design built around the PDO object and failed. I've read numerous forums about using the object. In most cases the programmers at Zend simply start insulting people who question their design.
On other words, the contemptuous snits at Zend took the most widely used server side scripting language and made it extremely to difficult to use. Led by arrogance, they have failed to support the language.
This is problematic because small businesses around the world formed a dependency on PHP.
PHP 3.0 had some notable security flaws.
Its core strength was that it allowed for different programming styles. Programmers could use the class structure or they could use functional programming techniques. It was even possible to create robust structures using legacy RDBM programming techniques.
I prefer the flaws of the old program to the artificial constraints of the new version.
Zend failed to achieve its grandiose objective of becoming the cornerstone of the web.
The company Rogue Wave, which had a reputation for quality design, acquired Zend in 2018. I've used software from Rogue Wave in the past and hoped that they would unmuddle the muddled programs by Zend. That hasn't happened yet.
A company called Perforce acquired Rogue Wave. Perforce makes version control software.
They appear to be another politically ambitious firm. After all the company that controls version control shall control the world.
The acquisitions were financed by Clearlake Capital and Francisco Capital. This is my attempt at piecing together the Perforce merger chain. Clearlake owns hundreds of different companies. I doubt they care much about PHP or for the legions of small businesses that depend on the software.
The core program of PHP is still good enough. But I have been struggling with the question. Should I continue to use and recommend this program or find a better path? I have searched high and low and haven't found that better path.