Я пытаюсь расширить класс DOMDocument, чтобы облегчить выбор XPath. Я написал этот кусок кода:
class myDOMDocument extends DOMDocument {
function selectNodes($xpath){
$oxpath = new DOMXPath($this);
return $oxpath->query($xpath);
}
function selectSingleNode($xpath){
return $this->selectNodes($xpath)->item(0);
}
}
Эти методы возвращают объект DOMNodeList и объект DOMNode соответственно.
Теперь я хотел бы реализовать методы, аналогичные объектам DOMNode. Но очевидно, что если я напишу класс (myDOMNode), который расширяет DOMNode, я не смогу использовать эти два дополнительных метода на узлах, возвращаемых myDOMDocument, поскольку они являются объектами DOMNode (а не myDOMNode).
Я скорее новичок в объектном программировании, я пробовал разные идеи, но все они ведут в тупик.
Есть намеки? Большое спасибо заранее.