#39057 [Csd]: Docs for DOMDocument::load() describe it as static, but gives error in E_STRICT.

From: Date: Sun, 14 Oct 2007 23:38:01 +0000
Subject: #39057 [Csd]: Docs for DOMDocument::load() describe it as static, but gives error in E_STRICT.
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-107@lists.php.net to get a copy of this message
ID: 39057 User updated by: nickj-phpbugs at nickj dot org Reported By: nickj-phpbugs at nickj dot org Status: Closed Bug Type: Documentation problem Operating System: Ubuntu Linux PHP Version: 5CVS-2007-03-20 (snap) New Comment: There is a PHP patch for this (rather than a tweak to the documentation) that should fix this. It's by Noah Fontes, not me, and he cautioned me that it was outdated code, and that it touches the Zend internals. However, I think it's best to include it here as ideally there would be a "deep fix" with an update to PHP for this problem, rather that with a tweak to the documentation to indicate that this is a known problem. Noah's patch is at: http://files.nickj.org/php/allow_static.patch Previous Comments: ------------------------------------------------------------------------ [2007-08-17 16:27:08] vrana@php.net 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. ------------------------------------------------------------------------ [2007-05-09 06:32:19] david dot nqd at gmail dot com 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." ------------------------------------------------------------------------ [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] didou@php.net 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. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/39057 -- Edit this bug report at http://bugs.php.net/?id=39057&edit=1

« previous php.doc.bugs (#107) next »