Php DOMAttr扩展DOMNode的原因是什么?或者,什么';一般来说,DOMNode类的目的是什么

Php DOMAttr扩展DOMNode的原因是什么?或者,什么';一般来说,DOMNode类的目的是什么,php,domdocument,Php,Domdocument,我想知道为什么存在“DOMNode”类。似乎只有多梅隆元素将其扩展才是明智的。因此,它的目的是什么 例如,为什么DOMAttr类()基于DOMNode类?这里的关系是什么?DOMAttr不能有“childNodes”或。。。DOMNode提供的任何东西 它只是一个key=>值,不是吗 确切地说,它们确实“共享”了一些东西,当使用新的DOMAttr('key','val')时,我们得到一个DOMNode,nodeName='key',nodeValue='val';但是那又怎么样?Key/val对

我想知道为什么存在“DOMNode”类。似乎只有多梅隆元素将其扩展才是明智的。因此,它的目的是什么

例如,为什么DOMAttr类()基于DOMNode类?这里的关系是什么?DOMAttr不能有“childNodes”或。。。DOMNode提供的任何东西

它只是一个key=>值,不是吗


确切地说,它们确实“共享”了一些东西,当使用新的DOMAttr('key','val')时,我们得到一个DOMNode,nodeName='key',nodeValue='val';但是那又怎么样?Key/val对仍然是而不是DOM树节点,对吗?

简单回答,这个问题不是真正的PHP问题,因为PHP只是实现了

在等级库中,节点是树的任何部分,包括属性、元素和文本。这不是为什么要使用
DOMNode
的问题,因为树的所有这些部分都共享许多公共属性,这证明它们可以从公共父级继承


因此,元素和属性在界面设计中共享一个共同的祖先是完全合理的。我认为真正的问题是为什么它被命名为
节点
,而节点通常是树/图的顶点

谢谢你,@apokryfos!事实上,我永远不会想到这一点:)