Bug #52382 [Com]: NULL in method arguments is casted to string?
| From: | giorgio dot liscio at email dot it | Date: | Tue, 20 Jul 2010 14:13:15 +0000 |
| Subject: | Bug #52382 [Com]: NULL in method arguments is casted to string? | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-152549@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=52382&edit=1
ID: 52382
Comment by: giorgio dot liscio at email dot it
Reported by: giorgio dot liscio at email dot it
Summary: NULL in method arguments is casted to string?
Status: Bogus
Type: Bug
Package: DOM XML related
Operating System: all ? xp x64
PHP Version: 5.3.2
New Comment:
i don't think that is like you think
if i extend appendChild
override appendChild($name, $content = NULL, $myNewArg = NULL)
if i want to skip the second argument i can not
or another issue:
as php doc says
DOMImplementation->createDocument ([ string $namespaceURI = NULL [,
string $qualifiedName = NULL [, DOMDocumentType $doctype = NULL ]]]
)
third parameter is optional (=NULL)
but if i do
$x->createDocument(null, null, null); to create an empty document
exception is thrown:
Argument 3 passed to DOMImplementation::createDocument() must be an
instance of DOMDocumentType, null given
if i do createDocument(); obviously works, but the concept of "skipping
not required parameters with null" is not respected
Previous Comments:
------------------------------------------------------------------------
[2010-07-20 09:59:01] aharvey@php.net
They're not equivalent: you're providing a value for the "value"
parameter to DOMDocument::createElement(), so yes, it will get coerced
into an empty string using PHP's usual type juggling mechanism.
------------------------------------------------------------------------
[2010-07-20 09:46:25] giorgio dot liscio at email dot it
Description:
------------
hi, test this:
header("Content-Type: text/plain");
$doc = new \DOMDocument()
$doc->appendChild($doc->createElement("root", NULL));
echo $doc->saveXML();
echo "\n\nshould be equivalent to:\n\n";
$doc = new \DOMDocument()
$doc->appendChild($doc->createElement("root"));
echo $doc->saveXML();
i hope other DOM methods will work good... otherwise fix is needed
thank you!
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=52382&edit=1