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

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

作成日: 更新日:

基本的な使い方

ownerDocumentプロパティは、ノードが属するドキュメントオブジェクトを保持するプロパティです。このプロパティはDom\Nodeインターフェースで定義されており、Dom\HTMLDocumentクラスもこれを継承しています。HTMLドキュメント内の特定の要素、例えば<body><p>といったノードからこのプロパティにアクセスすると、そのノードが所属しているDom\HTMLDocumentオブジェクトそのものが返されます。これにより、ドキュメントツリーのどの位置にいるノードからでも、ドキュメント全体を簡単に参照することが可能になります。しかし、Dom\HTMLDocumentオブジェクト自身、つまりドキュメントのルートノードに対してこのプロパティを参照した場合の動作は異なります。ドキュメント自体は他のいかなるドキュメントにも属していないため、この場合のプロパティの値は常にnullとなります。このプロパティは読み取り専用であり、プログラム中で値を代入して変更することはできません。

構文(syntax)

1<?php
2
3$document = new Dom\HTMLDocument();
4$document->loadHTML('<!DOCTYPE html><html><body></body></html>');
5
6$ownerDocument = $document->ownerDocument;
7
8var_dump($ownerDocument);
9
10?>

引数(parameters)

戻り値(return)

?Dom\Document

このプロパティは、その要素が属する Dom\Document オブジェクトへの参照を返します。要素がドキュメントに属していない場合は null を返します。

関連コンテンツ

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