【PHP8.x】Dom\EntityReference::ownerDocumentプロパティの使い方
ownerDocumentプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
ownerDocumentプロパティは、このエンティティ参照ノードが属しているDom\Documentオブジェクトを保持するプロパティです。XMLやHTMLのドキュメントは、要素やテキストといった多数のノードが階層構造をなすツリーとして表現されます。このプロパティは、現在操作しているノードが、そのツリー全体のどのドキュメントに所属しているかを示します。このプロパティは読み取り専用であり、一度ドキュメントに所属したノードの所属先を直接書き換えることはできません。これにより、ドキュメントの構造的な整合性が保たれます。例えば、あるノードを取得した後に、そのノードと同じドキュメント内に新しい要素を追加したい場合、$node->ownerDocument->createElement()のように記述することで、所属ドキュメントのメソッドを呼び出すことができます。なお、new Dom\EntityReference()などでノードが作成された直後で、まだどのドキュメントにも追加されていない場合、このプロパティはnullを返します。このように、あるノードからドキュメント全体への参照を取得するための重要な役割を担っています。
構文(syntax)
1<?php 2 3$doc = new \Dom\Document(); 4 5$entityRef = $doc->createEntityReference('example'); 6 7$owner = $entityRef->ownerDocument; 8 9var_dump($owner === $doc); 10 11?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
?Dom\Document
このプロパティは、この要素が属しているDOMドキュメントオブジェクトを返します。要素がドキュメントに属していない場合、nullが返されます。