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

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

作成日: 更新日:

基本的な使い方

getRootNodeメソッドは、DOMElementノードのルートノードを取得するメソッドです。このメソッドは、DOMツリー構造において、特定の要素が属するドキュメントの最上位ノード(通常はDocumentノード)を返します。

具体的には、getRootNodeメソッドは、現在のDOMElementノードからDOMツリーを遡り、parentNodeプロパティをたどって最上位のノードを探します。最上位ノードが見つかった場合、そのノードを返します。もし、現在のノードが既にルートノードである場合、つまりparentNodeが存在しない場合は、そのノード自身を返します。

このメソッドは、DOM構造全体を把握したり、特定の要素がどのドキュメントに属しているかを確認したりする際に役立ちます。例えば、複数のドキュメントが組み合わさって表示されるWebアプリケーションにおいて、要素がどのドキュメントに属しているかを特定し、適切な処理を行う必要がある場合に利用できます。

getRootNodeメソッドはオプションの引数を受け取ることができます。引数には、getRootNodeOptionsオブジェクトを指定することで、ルートノードの取得方法をカスタマイズできます。getRootNodeOptionsオブジェクトには、以下のようなオプションが含まれます。

  • composed: シャドウDOMを越えてルートノードを取得するかどうかを指定します。デフォルトはfalseです。trueに設定すると、シャドウDOMの境界を越えて、より上位のルートノードを取得します。

getRootNodeメソッドは、DOMElementオブジェクトに対して呼び出すことができます。返り値は、DocumentノードまたはShadowRootノード、あるいは呼び出し元のノード自身となります。

構文(syntax)

1DOMNode|null DOMElement::getRootNode ( array $options = [] )

引数(parameters)

?array $options = null

  • array $options = null: DOMDocument::importNode() と同様のオプションを指定する配列。デフォルトは null で、オプションなし。

戻り値(return)

DOMNode

DOMElementオブジェクトのルートノードを表すDOMNodeオブジェクトを返します。

【PHP8.x】getRootNodeメソッドの使い方 | いっしー@Webエンジニア