【PHP8.x】ownerDocumentプロパティの使い方
ownerDocumentプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
『ownerDocumentプロパティは、現在の処理命令(Processing Instruction)ノードが属しているドキュメント全体を表すDom\Documentオブジェクトを保持するプロパティです。XMLやHTML文書をプログラム上で扱う際、個々のノードは特定の文書ツリーの一部として存在します。このプロパティは、現在の処理命令ノードがどの文書に所属しているかへの参照を提供します。これにより、あるノードから文書全体の操作へアクセスすることが可能になります。例えば、このプロパティを通じて得られるDom\Documentオブジェクトを起点として、文書内に新しい要素を作成したり、特定のIDを持つ要素を検索したりできます。ただし、createProcessingInstructionメソッドなどでノードが作成されただけで、まだ文書ツリーのどこにも追加されていない場合、このプロパティの値はnullになります。これは、ノードがどの文書にも属していない状態を示しています。また、このプロパティは読み取り専用であるため、直接値を代入して所属ドキュメントを変更することはできません。』
構文(syntax)
1<?php 2 3$document = new \Dom\Document(); 4 5$pi = $document->createProcessingInstruction('xml-stylesheet', 'href="style.css" type="text/css"'); 6 7// ProcessingInstructionノードが属するDocumentオブジェクトを取得します。 8$ownerDocument = $pi->ownerDocument; 9 10// $ownerDocumentプロパティは、元の$documentオブジェクトを返します。 11var_dump($ownerDocument === $document); 12 13?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
?Dom\Document
このプロパティは、この処理命令ノードが属する Dom\Document オブジェクトへの参照を返します。もしノードがまだドキュメントにアタッチされていない場合は null を返します。