Req #54698 [Wfx]: setAttribute
| From: | rasmus@php.net | Date: | Tue, 10 May 2011 08:52:18 +0000 |
| Subject: | Req #54698 [Wfx]: setAttribute | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-160644@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=54698&edit=1
ID: 54698
Updated by: rasmus@php.net
Reported by: broshizzledizzle at gmail dot com
Summary: setAttribute
Status: Wont fix
Type: Feature/Change Request
Package: DOM XML related
Operating System: (irrelevant)
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
I think if we were to fix it, we would make it return void or false on
an error
to comply better with the DOM spec. Changing it from one value that
doesn't
comply with the spec to another one that also doesn't comply doesn't
make much
sense.
Previous Comments:
------------------------------------------------------------------------
[2011-05-10 10:35:57] broshizzledizzle at gmail dot com
I understood the implication of what I suggested when I posted. This
exact same
flaw happens in so many methods of the DOM that I always have to look up
return
values to see what actually gets returned, rather than what would be
useful.
I'm not looking to get into a fight, but think about what you said: "I
don't
think it would be
a good idea to break backward compatibility now, even in a good cause."
Doesn't
that grate on your nerves? You are saying, we won't right the wrong we
made in
the beginning because a lot of people use this extension. Ever heard of
investing in your future? I don't think PHP is going to die anytime
soon, and if
we're going to ever improve the DOM in this regard we'll probably never
have a
better time. It'll just get harder the longer we wait.
------------------------------------------------------------------------
[2011-05-10 10:17:16] aharvey@php.net
Given how widely the DOM extension is used, I don't think it would be
a good idea to break backward compatibility now, even in a good cause.
Closing won't fix.
------------------------------------------------------------------------
[2011-05-10 00:15:28] broshizzledizzle at gmail dot com
Description:
------------
It makes more sense for setAttribute() to return the object it was
called on
instead of the attribute that was set. If I was interested in the
attribute, I'd
have use createAttribute() instead.
Test script:
---------------
$dom = new DOMDocument();
$body = $dom->createElement('body');
$dom->appendChild($body->setAttribute('class', 'wrapper'));
echo $dom->saveHTML();
Expected result:
----------------
I would expect that it would properly append $body to the $dom.
Actual result:
--------------
Warning: DOMNode::appendChild() [domnode.appendchild]: Couldn't append
node in
_FILE_ on _LINE_.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=54698&edit=1