【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 を返します。

関連コンテンツ

関連プログラミング言語