【PHP8.x】getRootNodeメソッドの使い方

getRootNodeメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getRootNodeメソッドは、DOMツリー内で特定のノードから、そのノードが属するルートノードを取得するメソッドです。このメソッドは、PHPのDOM拡張機能におけるDom\Nodeクラスのインスタンスに対して呼び出すことができます。

Dom\Node::getRootNodeメソッドが実行されると、呼び出し元のノードからDOMツリーを遡り、そのノードが属する最上位の親ノード、すなわちルートノードを特定して返します。一般的なルートノードには、HTMLドキュメント全体の最上位を表すDocumentノードや、Web Componentsなどで使用されるShadowRootノードなどがあります。

このメソッドは引数を一切取りません。戻り値はDom\Node型のオブジェクトであり、取得されたルートノードそのものです。例えば、あるHTML要素が通常のドキュメントの一部なのか、それともShadow DOMの内部に存在しているのかを簡単に判別したい場合に、このメソッドが役立ちます。

複雑なDOM構造を扱う際、ノードの親を一つずつたどって最上位のノードを特定する手間を省き、直接そのノードの属するコンテキストのルートノードにアクセスできるため、コードの可読性や効率性が向上します。これにより、ノードの全体的なコンテキストを素早く理解し、適切な処理を実装することが可能になります。

構文(syntax)

1<?php
2$document = new DOMDocument();
3$element = $document->createElement('example');
4$document->appendChild($element);
5
6$rootNode = $element->getRootNode();

引数(parameters)

引数なし

引数はありません

戻り値(return)

DOM\Node

getRootNode() メソッドは、現在のノードが属するDOMツリーのルートノードを返します。