It's bothered me for quite some time that a failed include emits a
warning. This is because it's by design that the author chose
`include` and not `require`. It's _expected_ that it may fail and they
are okay with that.

As an example, consider a classic autoloading case. It could be as
simple and performant as:

    $file = /* something derived from class name */;
    include $file;

But because of the warning, in practice authors tend to use
`file_exists` + require instead:

    $file = /* something derived from class name */;
    if (file_exists($file)) {
        require $file;
    }

Weird isn't it? Authors are using require instead of include for the
case where failure is tolerated. This is a clear signal to me that
include isn't doing its job. The warning gets in the way.

Any reasons we shouldn't just remove this warning for PHP 8?

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to