【PHP8.x】Dom\EntityReference::DOCUMENT_POSITION_DISCONNECTED定数の使い方
DOCUMENT_POSITION_DISCONNECTED定数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
DOCUMENT_POSITION_DISCONNECTED定数は、2つのDOMノードが互いに接続されていない、つまり同じ文書ツリーに属していない状態を表す定数です。この定数は、主に Dom\Node::compareDocumentPosition() メソッドの戻り値として使用されます。このメソッドは、あるノードと別のノードの文書内での位置関係(前方か後方か、内包しているかなど)を比較し、その結果をビットマスク形式の整数値で返します。DOCUMENT_POSITION_DISCONNECTED は、そのビットマスクに含まれるフラグの一つです。例えば、new DOMElement() などで新しくノードを作成したものの、まだ文書内のどの要素にも追加していない状態のノードと、既存の文書内のノードを比較した場合、これら2つのノードは接続されていないため、メソッドの戻り値にはこの定数のビットが含まれます。また、完全に異なる2つの文書オブジェクトに属するノード同士を比較した場合も同様です。開発者は、この定数を利用して、2つのノードが同じ文脈上に存在しないことを判定し、関連性のないノード間での意図しない操作を防ぐことができます。
構文(syntax)
1<?php 2 3$nodeA = new DOMElement('a'); 4$nodeB = new DOMElement('b'); 5 6$position = $nodeA->compareDocumentPosition($nodeB); 7 8if ($position & Dom\EntityReference::DOCUMENT_POSITION_DISCONNECTED) { 9 // The nodes are disconnected. 10}
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
Dom\EntityReference::DOCUMENT_POSITION_DISCONNECTED は、ノードがどのドキュメントにも接続されていない状態を表す整数定数です。