Hi list,
The request is so that we can do this:
$html = <<<HTML
<div>data</div> HTML; $doc = new DOMDocument; $doc->loadHTML($html); var_dump($doc->getElementsByTagName('div')[0]->textContent);I started implementing this on my branch (
https://github.com/Ralt/php-src/tree/issue-67949), but then I was
thinking... ::offsetSet and ::offsetUnset don't really make sense in this
context.
From what I understand, SimpleXML does some magic to make it work without
implementing ArrayAccess.
I think it's cleaner to use ArrayAccess and to throw errors on ::offsetSet
and ::offsetUnset, but I'd like internals' opinion on this.
Regards,
Florian Margaine
Hi list,
The request is so that we can do this:
$html = <<<HTML
<div>data</div> HTML; $doc = new DOMDocument; $doc->loadHTML($html); var_dump($doc->getElementsByTagName('div')[0]->textContent);I started implementing this on my branch (
https://github.com/Ralt/php-src/tree/issue-67949), but then I was
thinking... ::offsetSet and ::offsetUnset don't really make sense in this
context.From what I understand, SimpleXML does some magic to make it work without
implementing ArrayAccess.I think it's cleaner to use ArrayAccess and to throw errors on ::offsetSet
and ::offsetUnset, but I'd like internals' opinion on this.
The DOM has a very specific API that we should be keeping to, and
encouraging developers to use.
I’d much rather see the DOM implementation completed (check out all of
the “not implemented” parts we have), than some shiny, shiny array-style
access to NodeList items. That said, people do like the shiny, shiny.
Regards,
Florian Margaine
The DOM has a very specific API that we should be keeping to, and
encouraging developers to use.
This is true and we should keep doing this.
I’d much rather see the DOM implementation completed (check out all of
the “not implemented” parts we have), than some shiny, shiny array-style
access to NodeList items. That said, people do like the shiny, shiny.
I think this particular request is harmless. Note that this works in JavaScript as well.
--
Andrea Faulds
http://ajf.me/