Re: Missing warning for stat(), etc. when invoked with empty string
| From: | Levi Morrison via internals | Date: | Thu, 03 Dec 2020 21:05:50 +0000 |
| Subject: | Re: Missing warning for stat(), etc. when invoked with empty string | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-112400@lists.php.net to get a copy of this message | ||
On Thu, Dec 3, 2020 at 6:30 AM Claude Pache <claude.pache@gmail.com> wrote:
>
> [Of course, I meant
stat(), not
> stats(). Resending the message with correct spelling, including in
> subject line. Sorry.]
>
>
> Hi,
>
> stat() and friends invoked with empty string or null as
> argument, return false (indicating failure), but do not emit the
> Warning that is expected on failure. See: https://3v4l.org/jXC2N
> <https://3v4l.org/jXC2N>
>
> That discrepancy between the two ways of indicating failure is problematic. Indeed, whenever I
> use one of those functions without prefixing it by @, I expect that it will either return a value of
> expected type (array in case of
> stat()), or run the panic procedure of my error handler.
>
> I propose to ensure that those functions always emit a Warning in each and every situation they
> return false/null (provided, of course, that those functions are not supposed to return
> false/null in absence of failure, and that their purpose is not to
> check for failure condition as in file_exists()).
>
> —Claude
>
This is a long-standing behavior. Further, I don't know many people
who want _more_ warnings in their codebase.
In other words, I disagree with this proposal.