On Sat, Feb 16, 2019 at 6:34 PM Ben Ramsey <b...@benramsey.com> wrote:

> > On Feb 5, 2019, at 05:22, Nikita Popov <nikita....@gmail.com> wrote:
> >
> > Hi internals,
> >
> > I'd like to bring forward the following proposal for PHP 8, which will
> make
> > (zpp) parameter parsing failures always result in a TypeError (rather
> than
> > generating a warning+null, depending on circumstances):
> >
> > https://wiki.php.net/rfc/consistent_type_errors
> >
> > The goal here is to remove one of the inconsistencies between
> user-defined
> > and internal functions, and to put us in a position where we can actually
> > start specifying type information in arginfo without fear of breaking
> > things.
>
>
> I like this RFC, and from a user perspective, this consistency is
> much-needed.
>
> While warnings don’t affect continued processing, uncaught TypeErrors do.
> What is the recommended upgrade path for users? How will this affect the
> silence @-operator, since I’m sure many users use that to squelch these
> warnings, and they accept the null or false return value as acceptable for
> processing the rest of the script.
>
> Cheers,
> Ben
>

The recommended upgrade path here is basically "deal with it". If a
codebase does this (intentionally calling functions with invalid params and
suppressing errors) a lot, then it might make sense to register an error
handler that collects all "expected parameter" style errors in a production
environment, to easily identify all code that needs to be fixed. The error
messages have a consistent format, so it should be simple to identify and
eliminate all warnings of this type.

Nikita

Reply via email to