【PHP8.x】ownerDocumentプロパティの使い方

ownerDocumentプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

『ownerDocumentプロパティは、あるノードが属しているドキュメント全体を表すDom\XMLDocumentオブジェクトを保持するプロパティです。Dom\XMLDocumentクラス自身もノードの一種ですが、このクラスのインスタンスでownerDocumentプロパティにアクセスした場合、その値は常にnullとなります。これは、Dom\XMLDocumentオブジェクトがXMLドキュメント構造における最上位のルート(根)にあたるためです。他の要素ノードやテキストノードといったすべての子ノードは、このドキュメントに所属していますが、ドキュメント自身がさらに上位のドキュメントに所属することはありません。したがって、「所有者であるドキュメント」が存在しないことを示すnullが返される仕様となっています。例えば、createElementメソッドで作成した要素ノードからこのプロパティを参照すると、その要素が属しているDom\XMLDocumentオブジェクトを取得できますが、ドキュメントオブジェクト自身からは取得できない点に注意が必要です。このプロパティは読み取り専用であり、値を変更することはできません。

構文(syntax)

1<?php
2
3$document = new Dom\XMLDocument();
4
5// Dom\XMLDocument インスタンスの ownerDocument プロパティを取得します。
6// このプロパティの値は常に null です。
7$owner = $document->ownerDocument;
8
9var_dump($owner);
10
11?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

?Dom\XMLDocument

このプロパティは、XML文書のルート要素(所有者)である Dom\XMLDocument オブジェクトを返します。ただし、要素が DOMDocument に直接追加されている場合は null を返します。

関連コンテンツ

【PHP8.x】ownerDocumentプロパティの使い方 | いっしー@Webエンジニア