PHP 6 was echod to be a fantastic new version with a lot of hype associated around it but some years on - where is PHP 6 and why has there been such a delay?
There are a lot of books about PHP 6 but in reality, PHP 6 doesn't actually exist yet; there aren't even alpha or beta versions. Simply put, PHP 6 does not exist and that doesn't seem to be changing any time soon.
Quoting a question posted to Stack Overflow in 2009 the answer is:
"It looks as if PHP 6 will released when 'it is ready' which might not be particularly soon"
However, PHP 5.4 included a lot of features that were initially planned for PHP 6 but have now become branched into the PHP 5.4 development - the development isn't completely dead, but very far from being deployed to your systems.
What Features Will be in PHP6?
We should expect PHP 6 to feature:
- Enhanced array indexing to improve substring support and array slicing that can be pretty tedious on large data sets in PHP 5.3
- Performance improvements to support page caching (opcode) and developing Alternative PHP Cache into the core of PHP to provide native application caching.
- Native UTF-8 support to power the core of PHP6 providing internationalisation to all string functions and existing language API's (this is a huge task - but why has it taken over 4 years?)
- Support for the 'jump' and 'goto' opcodes to send code processing to specific labels defined by a programmer (as you can do in machine code, C, C++, Java, etc..)
- Magic quotes will finally (hooray) be dropped entirely from the PHP production line
What is Causing the Delay?
There are a lot of reasons why the release of PHP 6 is no closer than it was four years ago. Primarily it is because a lot of "proposed" features for PHP 6 have actually now been implemented into PHP 5.4 although this has caused a lot of frustration to users as to the moving PHP's development forward.
On top of this, there is no official PHP 5.4 to-do Wiki page and no code branch. PHP 5.4 released in 2011 and now has official support (as of June 2013). At ALJT Media, we run PHP 5.4.
Why the Crazy Hype?
PHP 6 is a major version build change away from PHP 5 which has been around for many years. A new release indicates signifiant changes both for the developers but the direction the company wants to push themselves towards.
PHP 6 also aims to provide unicode support which is a huge thing for every developer who constantly has to take into account - 'how do I handle unicode in this project?'. The PHP 6 development team initially decided to use UTF-16 internally which causes double memory usage for strings, more CPU usage and increased complexity of coding PHP 6. Using UTF-16 apparently removed the fun out of developing PHP and caused a lot of tension amongst PHP's developers thus severly slowing the development down.
In 2010, the choice to use UTF-16 was completely abolished by Rasmus Lerdof, creator of PHP. The unicode implementation process had to be completely scrapped and started again afresh.
Hopefully one day we will see PHP 6 released but until then, PHP 5.4 hosts a new platform of outstanding features and works very well with efficient processing and memory handling for most common web applications.