On 27 May 2022, at 07:44, Jordan LeDoux <jordan.led...@gmail.com> wrote: > On Thu, May 26, 2022 at 5:21 AM Craig Francis <cr...@craigfrancis.co.uk> > wrote: >> It sounds like you got lucky - you have a function that has a problem with >> NULL (but I assume it's fine with an empty string?), and during your testing >> you happened to pass NULL to this function. As noted before, static analysis >> is *considerably* better at these types of checks, because it's able check >> if variables *can* contain NULL. They can also perform other checks as well >> (important when your code seems to care about NULL vs an empty string). > > > Nearly *all* code has a problem with null.
Erm, but it doesn't... does it? I know I keep going on about this very simply example, but it represents a fairly typical style of programming PHP, and I just do not understand what the problem with it is: ``` $search = $request->input('q'); // Laravel, returns NULL when 'q' is not defined. echo 'Results for ' . htmlspecialchars($search); ``` But forget about it, hopefully someone else can find a solution to the problem. On 27 May 2022, at 07:44, Jordan LeDoux <jordan.led...@gmail.com> wrote: > It very much feels like the original effort to deprecate null calls decided > to resolve this by saying "let's have the language help developers improve > their code so it doesn't have these problems in the first place", and this > effort is trying to resolve this by saying "let's have the language support > the buggy code in ways that makes it work". > > At my job, my task for the last three weeks has literally been upgrading our > internal codebase for 8.1, and the biggest set of logs I'm dealing with is > exactly what you're talking about here: null's passed to internal functions. > Every single case I've looked at so far has been traced to code that was > written incorrectly, where some code somewhere was not properly guarding its > values, and error cases were slipping through. For one of the teams I work with (the only one trying to make the relevant changes), this is also their "biggest" problem... but they are having exactly the opposite experience, a considerable amount of hours have gone into finding and changing their code, and not a single change was for code that was "written incorrectly" (I suppose that depends on what you think "correct" code is)... the other teams I work with are either suppressing this notice, or simply not upgrading to 8.1. Craig -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: https://www.php.net/unsub.php