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

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

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

作成日: 更新日:

基本的な使い方

『isConnectedプロパティは、DOMEntityReferenceオブジェクトがドキュメントツリーに接続されているかどうかを示す真偽値を保持するプロパティです。このプロパティの値がtrueの場合、そのエンティティ参照ノードがDOMDocumentオブジェクトの一部として、有効な階層構造の中に組み込まれていることを意味します。具体的には、appendChild()などのメソッドによってドキュメント内の他のノードの子要素として追加されている状態です。一方で、new DOMEntityReference()によってインスタンスが生成された直後や、removeChild()メソッドでドキュメントから切り離された後など、ノードがどのドキュメントにも属していない状態ではfalseを返します。このプロパティは読み取り専用であり、プログラマが直接値を代入して接続状態を変更することはできません。あるノードに対して何らかの操作を行う前に、このプロパティを参照することで、そのノードが現在ドキュメントの一部として有効であるかを確認できます。これにより、意図しない挙動やエラーの発生を防ぎ、コードの信頼性を高めるのに役立ちます。

構文(syntax)

1<?php
2
3$doc = new DOMDocument();
4$doc->loadXML(<<<XML
5<?xml version="1.0"?>
6<!DOCTYPE root [<!ENTITY myentity "my value">]>
7<root>&myentity;</root>
8XML);
9
10// root要素の子ノードであるエンティティ参照ノードを取得します
11$entityRef = $doc->documentElement->firstChild;
12
13// プロパティにアクセスし、ノードがドキュメントに接続されているかを確認します
14// bool(true) が出力されます
15var_dump($entityRef->isConnected);
16
17// ドキュメントからノードを削除します
18$doc->documentElement->removeChild($entityRef);
19
20// 再度プロパティにアクセスし、ノードがドキュメントから切断されたかを確認します
21// bool(false) が出力されます
22var_dump($entityRef->isConnected);
23
24?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

bool

DOMEntityReferenceオブジェクトがDOMツリーに接続されているかどうかを示します。接続されていればtrue、そうでなければfalseを返します。

関連コンテンツ

関連プログラミング言語