PHP 7.1: the road towards PHP 7.2 and PHP 8.0September 15, 2016 —
Cet article est aussi disponible en français.
This is the 10th post in a series about PHP 7.1.
PHP 7.1 is only the second minor version of the PHP 7 branch, but some are already thinking about what’s next: the next minor release, PHP 7.2; and the next major version, what might become PHP 8.0.
Some removal for PHP 8.0
There are not (yet?) any deep changes in the engine, but the idea for now is to start adding some
E_NOTICE warning on features you should not be using with PHP 7.x — and, then, to remove them in PHP 8.0.
Eval option of
/e modifier of
preg_replace() has been removed with PHP 7.0 (‣RFC), but it still exists for
To make things more consistent, using this dangerous modifier for functions
mb_eregi_replace() with PHP 7.1 will raise a
This modifier should later be removed, with PHP 8.0.
‣ The RFC: Deprecate
mb_ereg_replace() eval option
The end of mcrypt?
mcrypt extension is based on a library that’s not been maintained for years — which is a bit of a problem, considering it’s related to security!
When PHP 7.0 was in development, there were talks about removing this extension. But, as many developers are still using it, it’s not been done.
To facilitate migration and leave more time to developers,
mcrypt will be flagged as deprecated starting from PHP 7.1: using it will cause
mcrypt extension should then be removed for PHP 8.0.
‣ The RFC: Deprecate (then Remove) Mcrypt
And for PHP 7.2?
As the release of PHP 7.1 is getting close, adding features to this version is not possible anymore — it’s not been permitted for a few months now, actually.
No surprise: a couple of ideas are already being discussed, for what might become the next version: PHP 7.2.
Here are a few RFCs resulting from these ideas.
As always, some of those will follow the process until the voting phase, a few will pass, and many will be forgotten:
- New operator for context-dependent escaping — this one has already been rejected.
- E_WARNING for invalid container read array-access
- Argon2 Password Hash
- Pipe Operator — this one was first discussed for PHP 7.1, but the idea needed a bit more thinking.
- Null Coalesce Equal Operator — and this one has already passed for PHP 7.1, but the implementation was not complete. Maybe it’ll finally arrive, for 7.2?
Once again: the fact an RFC has been written does not mean the corresponding idea will lead to a new feature for PHP!