Ten years ago yesterday on July 13th 2004, PHP 5.0.0 was unleashed onto the world. Bringing with it the Zend Engine 2, effectively a brand new PHP.

Zend Engine 2 actually made its first public appearance in a couple of PHP 4.3.0 alphas (just for testing) — for most of us the big immediate difference was that objects were passed by reference, and something about a new object model. Whatever that was.

The truth is that until PHP 5, PHP was a mostly procedural language, while it supported classes and objects, they were a bolt-on feature. This history is still visible in the majority of its default feature set even today — including some of its newest additions like the new password hashing API.

And even then, once we got a real (although some would argue it was just: better) object model, as a community we really didn't know what to do with it.

It wasn't until a framework with a catchy name put all the pieces together that we really started to realize what PHP 5 has brought to the table. Which framework? Ruby on Rails of course.

It is my opinion that Ruby on Rails is the most significant thing to happen to PHP, ever.

As is often the case in the PHP community, we first mimicked, with CakePHP, then we built our own, with Zend Framework, and Symfony, and later Lithium, Laravel, and dozens more — some successful, others not so much; but almost all of them building on the MVC pattern that Rails brought to the table.

But ten years is a long time, and we've come a long way since the initial release of PHP 5.0.0. As part of our research we reached out to a number of community members, and asked their thoughts.

The most significant change to PHP in the last 10 years?

While some feel it is Namespaces, and others, PHP 5.0 itself, with its object model changes, there can be little doubt that it is the community which has changed the most in the intervening years.

How do you feel PHP has impacted the web?

With its ease of use, and its ability to act as "glue", PHP is installed on ~80% of web servers, and in use by ~50% of web sites — this means that every other site you visit is using PHP in some capacity. Its impact on the web is undeniable.

Even if its not as cool and trendy as some languages (and let's face it, it was never cool), it is still the tool of choice for many of us for getting things done™.

The biggest change in the community in the last 10 years?

It seems that while there were a lot of different outcomes because of this, over the last ten years, the thing that has changed the most is the maturity of the community.

The responses to this question ranged from better awareness of equality problems, to the development and use of best practices. Many pointed out the current so-called "rennaisance" for which Composer is the poster-child.

Twitter has impacted the level of communication in the PHP community more than anything else out there, including Facebook. The PHP community talks to each other on Twitter.

How do you think the cloud is impacting PHP?

Surprisingly, this question was mostly answered with "very little". PHP has always been shared-nothing which means that as a language it scales infinitely horizontally, making it perfect for the cloud.

However as soon as you started to write code that uses shared resources, and that includes simple things like using the built-in file based sessions, things start to get tricky.

So, while PHP itself has not been impacted by the cloud, the bits and pieces it glues together definitely are, and that's where we as a community focus our energy: scaling our sessions with memcache, replication for MySQL, or PostgreSQL, or switching away from relational databases entirely.

What is the most pressing issue for PHP?

With few exceptions, there is a definite desire for bringing more consistency to PHP's core. Needle/haystack (or is that haystack/needle?) inconsistency is one of the things that people always point to as proof of PHP being a bad language, and on the whole the community acknowledges that while it doesn't make the language bad, it is something we would like to change.

There are also many who wish to say goodbye to bad legacy decisions in favor of new functionality, and are looking forward to a new major version sooner rather than later.

I think that PHP still has a way to go in terms of fixing consistency, but other than that I can finally say that it is starting to look like a well rounded object oriented language, well done in these 10 years and happy birthday! The community is awesome, like I usually say, hugs to them all :).

What would you like to see in the next major version?

Surprisingly, performance was a hot topic for the next major version — however, with the rise of HHVM and other projects performance has been on everybodies mind lately.

Besides this, a greater focus on built-in security, anonymous objects, asynchronous functions, type hinting, generics, and more are desired — there are a lot of great ideas out there!

I think the "reboot" of the security of the language should be an emphasis in the coming years. When developers start learning how to secure their applications, there's a lot of "you have to do this a specific way or it doesn't work". There's been several best practices established around securing database queries, protecting output and filtering input but it definitely could be made simpler.

2011

RFC and Release Processes Formalized

2012

PHP 5.4 Released

PHP 5.4 is the release that finally removed register_globals, along
with a number of other legacy options. But it was much more than this:

Short array syntax

Traits

Enhancements to closures

Short echo tags always available

Built-in Web Server

2013

PHP 5.5 Released

20th June 2013

PHP 5.5 continues the cadence, but is delayed by 3 months because of the addition of Zend OpCache, which
replaces APC amid a number of other larger changes:

Generators and Coroutines

"Finally" added to try/catch

Simple password hashing API

2014

PHP 5.6

PHP 5.6 will soon be available (currently at Release Candidate 2),
and is the smallest release since the 5.x series was resumed:

Variadic Functions

Argument Unpacking (AKA Splat)

Constant Scalar Expressions

PHP Next Generation (phpng)

5th May 2014

Zend announces its work on refactoring the Zend Engine, called phpng. This results in a significant
performance increase, however it requires updates to existing extensions, and still has some work before
its complete.

The Futureof PHP

2015 and Beyond

PHP-NEXT

With more and more backwards compatibility breaking RFCs being proposed, naturally the next
major version of PHP is on peoples mind.

PHP 6.0 (again?)

PHP 5.3 vs PHP 6.0

Had everything worked out as it was supposed to, PHP 6.0 would have been released years ago following on from PHP 5.2. With Unicode (UTF-16) support throughout, it would have allowed us to do things like use the Chinese and Cyrillic alphabets for identifiers, as well as ensuring that all string functions actually operated on characters, not bytes, etc.

But... things didn't go to plan, and the decision was made (eventually) to release the majority of features scheduled for 6.0 (everything but the Unicode transition) as PHP 5.3.

When time came to move on from there, PHP 6.0's Unicode efforts were dropped entirely, and PHP 5.4 followed.

The Future of PHP

PHP, as always, is in the hands of its community: you too can shape the future of the web.

Are you looking forward to PHP 5.6? Or do you have ideas for what PHP-NEXT should bring to the table? We'd love to hear your thoughts and feedback in the comments!

About Davey Shafik

Davey Shafik is a full time PHP Developer with 12 years experience in PHP and related technologies. A Community Engineer for Engine Yard, he has written three books (so far!), numerous articles and spoken at conferences the globe over.