This is an old revision of the document!
PHP 7 and 5.7 roadmap
- Version: 0.1
- Date: 2015-08-15
- Author: Pierre Joye
- Status: Draft
- First Published at: https://wiki.php.net/rfc/php7_57_roadmap
Now that phpng has been merged to master, the way to php 7 is open. However there are many other points that need to be cleared before a final release can be done. Many feature developments have been suspended because of phpng, which was a moving target until now.
PHP major release is an unique opportunity to do a lot of things not possible in minor releases. Code cleanup, refactoring, adding new major features, etc. All these tasks cannot be done in minor releases and the work we do for a major release, and how we do it, define how PHP will look like for the next decade.
This is why it is critical, if not vital, to do not hurry up and be sure we do it right.
As this time there are two positions about when we should try to release php 7 final:
- within a year, no php 5.7
- within 1.5 to 2 years, with 5.7
One year development and no 5.7
- no risk to reproduce what happened with the php 6
- Keep our limited resources on one release
- There are enough new features in phpng to justify a major version
- cleanups can be done later
One and year development and 5.7
- Major versions are an unique opportunity to cleanup our code base
- Major versions dictate what PHP will be in the next decade or more
- It is unrealistic to consider than less than a year is enough to understand, stabilize and release a phpng based major version. Opcache alone took 300% more time than planed back then during the 5.5 release phase
- There are a couple of major features that are long due, RFCs are in progress (bigint, AST, other like getter/setter, unicode string class annotation may resurface)
Proposed PHP Version(s)
- PHP 7
- PHP 5.7
No impact on existing extensions, code, etc. This is purely a planing RFC.
Make sure there are no open issues when the vote starts!
Proposed Voting Choices
Include these so readers know where you are heading and can discuss the proposed voting options.
State whether this project requires a 2/3 or 50%+1 majority (see voting)
Patches and Tests
Links to any external patches and tests go here.
If there is no patch, make it clear who will create a patch, or whether a volunteer to help with implementation is needed.
Make it clear if the patch is intended to be the final patch, or is just a prototype.
Links to external references, discussions or RFCs
Keep this updated with features that were discussed on the mail lists.