All

The return value of the DOMDocument::load* family of methods currently
varies depending on whether it was invoked statically or as an
instance method - when invoked on an instance it returns bool, and
when invoked statically it returns the implicitly created instance or
FALSE on error. Invoking statically also emits an E_STRICT, because it
is an instance method (see: http://3v4l.org/JIRQn).

As a result, I regularly find myself writing something like this:

    $doc = new DOMDocument;
    $doc->loadXML($xml);

I propose that the success return value be changed to the instance
regardless of how it was invoked, which would allow one to write this:

    $doc = (new DOMDocument)->loadXML($xml);

...which has the same effect as invoking it statically, without
provoking the E_STRICT. This would be a very minor BC break (it would
only break code that compares the return value with === TRUE, the
failure return value would be unaffected).

Thoughts, anyone? Would a minor change such as this require an RFC?

Thanks, Chris

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

Reply via email to