ID:               39057
 Comment by:       david dot nqd at gmail dot com
 Reported By:      nickj-phpbugs at nickj dot org
 Status:           Open
 Bug Type:         Documentation problem
 Operating System: Ubuntu Linux
 PHP Version:      5CVS-2007-03-20 (snap)
 New Comment:

Quick suggestion that may save some people a fair bit of time. Could
someone replace "If called statically, returns a DOMDocument." with "If
called statically, returns a DOMDocument, but also causes an E_STRICT
warning."


Previous Comments:
------------------------------------------------------------------------

[2007-03-20 07:25:43] nickj-phpbugs at nickj dot org

> I removed the whole static part.

At http://php.net/manual/en/function.dom-domdocument-load.php , it
currently says: "If called statically, returns a DOMDocument." I think
either every reference to static should be removed entirely, or using
the static calls should be officially described as deprecated in the
documentation, or the function should be updated to run without
generating an error in E_STRICT.

Personally, I would prefer the third option, but the other two also
solve the problem (by making what PHP actually does match what the
documentation says it does).

Also I have verified that the error-message is still present in the
latest PHP 5.2 snapshot (200703200530) when using E_STRICT.

> we would like to ask you to be a bit patient.

I've waited nearly 3 months, hope that's sufficient time to wait before
reopening for the reason described above.

------------------------------------------------------------------------

[2006-12-29 00:58:04] [EMAIL PROTECTED]

This bug has been fixed in the documentation's XML sources. Since the
online and downloadable versions of the documentation need some time
to get updated, we would like to ask you to be a bit patient.

Thank you for the report, and for helping us make our documentation
better.

I removed the whole static part.
Thank you for your feedback

------------------------------------------------------------------------

[2006-12-07 01:18:59] nickj-phpbugs at nickj dot org

> The method _can_ be called statically, but it shouldn't.

Well in that case, there is definitely a documentation bug. Please tell
me, where does it say this in the documentation?

It should say "Calling this method statically is deprecated, and will
generate an error in E_STRICT error logging mode".

Instead it says this method can be called statically, period.

Calling a method in a way that the documentation says is valid, and
getting a error (even under the strictest error logging) is a bug -
reopening.

Please either fix the method to not generate an error, or fix the
documentation to say "you shouldn't do this".

> Most internal object methods cannot be called statically.

How is that relevant? This method's documentation explicitly says it
_can_ be called statically. To then generate an error that says
DOMDocument::load() is a "Non-static method" is at best misleading, and
at worst just plain wrong.

------------------------------------------------------------------------

[2006-12-02 07:57:48] [EMAIL PROTECTED]

The method _can_ be called statically, but it shouldn't.
Most internal object methods cannot be called statically.

------------------------------------------------------------------------

[2006-10-06 08:17:51] nickj-phpbugs at nickj dot org

Description:
------------
>From http://php.net/manual/en/function.dom-domdocument-load.php : "This
method may also be called statically to load and create a DOMDocument
object." There is also a code example. Running the static example code
with E_ALL | E_STRICT error_reporting generates a warning.

Reproduce code:
---------------
echo "<blah/>" > file.xml
php5.2-200610042230/sapi/cli/php  -r 'error_reporting(E_ALL |
E_STRICT); $doc = DOMDocument::load("file.xml");'

Expected result:
----------------
No error.

Actual result:
--------------
PHP Strict Standards:  Non-static method DOMDocument::load() should not
be called statically in Command line code on line 1



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=39057&edit=1

Reply via email to