Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】Dom\EntityReference::isConnectedプロパティの使い方

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

作成日: 更新日:

基本的な使い方

『isConnectedプロパティは、Dom\EntityReferenceオブジェクトが文書の構造ツリーに接続されているかどうかを示す真偽値を保持するプロパティです。このプロパティは読み取り専用(readonly)であり、直接値を代入して変更することはできません。値がtrueの場合は、そのエンティティ参照ノードがDom\Documentオブジェクトの一部として有効な状態であることを示します。一方で、値がfalseの場合は、そのノードがまだどの文書にも追加されていない、または文書から削除された孤立した状態であることを意味します。例えば、new Dom\EntityReference()を用いてインスタンスを生成した直後のisConnectedfalseです。その後、appendChild()のようなメソッドを使って文書に追加されると、このプロパティの値は自動的にtrueに更新されます。逆に、removeChild()メソッドで文書から取り除かれると、再びfalseに戻ります。このプロパティを利用することで、処理対象のエンティティ参照が現在、文書内で実際に利用可能な状態にあるかを安全に確認できます。

構文(syntax)

1<?php
2// XMLドキュメントとエンティティ参照を作成
3$xml = '<!DOCTYPE root [<!ENTITY my_entity "entity value">]><root>&my_entity;</root>';
4$doc = new Dom\Document();
5$doc->loadXML($xml);
6
7// EntityReferenceノードを取得
8$entityRefNode = $doc->documentElement->firstChild;
9
10// ノードがドキュメントツリーに接続されている場合 (true)
11var_dump($entityRefNode->isConnected);
12
13// ノードをドキュメントから削除
14$doc->documentElement->removeChild($entityRefNode);
15
16// ノードがドキュメントツリーから切断された場合 (false)
17var_dump($entityRefNode->isConnected);
18?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

bool

このプロパティは、エンティティ参照がデータベースに接続されているかどうかを示す真偽値(trueまたはfalse)を返します。

関連コンテンツ

関連プログラミング言語