Am 11.03.2025 um 07:32 schrieb Gina P. Banyard <intern...@gpb.moe>:
> On Monday, 10 March 2025 at 23:07, Jorg Sowa <jorg.s...@gmail.com> wrote:
>> I’d like to align on the approach to validating arguments for built-in 
>> functions (usually for flag inputs). Some ongoing discussions in PRs:
>> - https://github.com/php/php-src/pull/15647
> 
> My opinion on this topic is well known, validation errors should go straight 
> to a ValueError.
> And if not a ValueError then it should be an E_WARNING.
> Raising a deprecation is frankly non-sensical.

I'll sound a bit like a broken record :-)

The very first example shows why we should have an E_WARNING phase to smoothen 
BC changes:
Code like
        $a = array_filter(["a", "", "b"], strlen(...), 666);
which currently ignores the bogus value and allows the code to continue would 
suddenly stop with en Exception.

Fixing the code is trivial and a warning helps identify those code locations 
but decoupling the moment of upgrading PHP from having to fix all code is IMHO 
still valuable. Especially when using third-party packages which might have a 
delay in fixing it.
I'm still waiting on some packages to fix new warnings for PHP 8.4 even though 
we've upgraded to the new version already.

Conclusion:
Yes, I'd very much like the 1) warning 2) ValueError approach from the original 
mail to be the default.

Regards,
- Chris

Reply via email to