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