Hello internals,
Similar to the mass deprecation RFC, I would like to propose the addition of a few warnings in certain situations:
https://wiki.php.net/rfc/warnings-php-8-5
I am expecting these 4 sub-proposals to be mostly uncontroversial,
other than possibly, the "Using offsets on non-container values in isset()/empty()" one.
As this is intended to land in PHP 8.5 the discussion will last 2 weeks and voting will commence on Monday the 28th of July 2025.
Best regards,
Gina P. Banyard
Hi Gina,
Le lun. 14 juil. 2025 à 18:22, Gina P. Banyard internals@gpb.moe a écrit :
Hello internals,
Similar to the mass deprecation RFC, I would like to propose the addition
of a few warnings in certain situations:
https://wiki.php.net/rfc/warnings-php-8-5I am expecting these 4 sub-proposals to be mostly uncontroversial,
other than possibly, the "Using offsets on non-container values in
isset()/empty()" one.As this is intended to land in PHP 8.5 the discussion will last 2 weeks
and voting will commence on Monday the 28th of July 2025.
Why warnings and not deprecations if the plan is to Error on PHP 9?
As you might know, it's very common to turn warnings into exceptions in
userland so this will break apps for sure. Deprecations don't if properly
handled. Please trigger deprecations instead.
About destructuring non-array values, null is a very common case that
allows writing nice readable code.
Here is a dummy example:
if ([$a, $b] = $array[$key] ?? null) { /.../ }
Turning this into a warning will have a significant impact for sure. Even a
deprecation would just make the language a bit less pleasant to use without
any real benefit, unless I missed any other rationale.
The rest makes sense to me, thanks for spotting these cases.
Nicolas
Hello internals,
Similar to the mass deprecation RFC, I would like to propose the addition of a few warnings in certain situations:
https://wiki.php.net/rfc/warnings-php-8-5I am expecting these 4 sub-proposals to be mostly uncontroversial,
other than possibly, the "Using offsets on non-container values in isset()/empty()" one.As this is intended to land in PHP 8.5 the discussion will last 2 weeks and voting will commence on Monday the 28th of July 2025.
Best regards,
Gina P. Banyard
Hi Gina, I feel like destructuring null
should not be the same warning as other types since null auto-vivicates? to [] (an empty array). Instead, it should provide the same warning as https://3v4l.org/8QPiD.
— Rob