【PHP8.x】ownerDocumentプロパティの使い方
ownerDocumentプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
ownerDocumentプロパティは、DOMTextオブジェクトが属するドキュメント(DOMDocumentオブジェクト)を保持するプロパティです。
PHPのDOM拡張機能は、HTMLやXMLといったマークアップ言語の文書構造をプログラムから操作するための機能を提供します。この文書構造は「Document Object Model(DOM)」と呼ばれ、ツリー状のデータ構造で表現されます。DOMTextクラスは、このDOMツリーを構成する要素の一つで、HTMLタグやXMLタグの内容として存在する純粋なテキストを表すノードです。
ownerDocumentプロパティは、特定のDOMTextオブジェクトが、どのDOMDocumentオブジェクトによって「所有されている」のか、つまり、どのHTMLやXML文書の一部であるのかを示す役割を持ちます。例えば、あるテキストノードを操作している際に、そのテキストが存在する文書全体に対して、新しい要素を追加したり、文書の別の部分を変更したりする必要が生じることがあります。そのような場合に、このownerDocumentプロパティを利用することで、対象となる文書のルートオブジェクトであるDOMDocumentインスタンスに簡単にアクセスできます。
このプロパティは、常にDOMDocument型のオブジェクトを返します。これは、DOMTextオブジェクトが属している文書そのものです。ownerDocumentプロパティは読み取り専用であり、その値を直接変更することはできません。文書構造を正しく理解し、DOMツリー内のノードと文書全体の関連性を把握するために不可欠なプロパティの一つです。
構文(syntax)
1<?php 2$dom = new DOMDocument('1.0', 'UTF-8'); 3$textNode = $dom->createTextNode('Sample Text'); 4 5$ownerDocumentObject = $textNode->ownerDocument; 6 7echo $ownerDocumentObject->xmlVersion; 8?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
DOMDocument|null
このプロパティは、この DOMText ノードが属する DOMDocument オブジェクトを返します。もしノードがドキュメントに属していない場合は null を返します。