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

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

作成日: 更新日:

基本的な使い方

『attributesプロパティは、ノードが持つ属性の集合を保持するプロパティです。このプロパティは、DOMCommentクラスが継承している親クラスのDOMNodeで定義されています。しかし、DOMCommentクラスはHTMLやXMLドキュメント内のコメントノード(例: <!-- コメント -->)を表すものであり、仕様上、コメントノードは属性を持つことができません。したがって、DOMCommentオブジェクトのattributesプロパティにアクセスした場合、その値は常にnullとなります。このプロパティは読み取り専用です。対照的に、DOMElementオブジェクトのように属性を持つことができるノードの場合、このプロパティは属性情報を格納したDOMNamedNodeMapオブジェクトを返します。これにより、要素の属性を取得したり操作したりすることが可能になります。DOMCommentにおいては、このプロパティはクラスの継承構造上存在しますが、実質的な機能は持たない点に注意が必要です。』

構文(syntax)

1<?php
2
3$doc = new DOMDocument();
4$doc->loadXML('<?xml version="1.0"?><book><!-- Recommendation --></book>');
5
6// コメントノードを取得します
7$comment = $doc->documentElement->firstChild;
8
9// DOMComment::$attributes は、コメントノードが属性を持たないため、常に null です
10$attributes = $comment->attributes;
11
12var_dump($attributes);
13
14?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

null

DOMComment クラスの attributes プロパティは、コメントノードには属性が存在しないため、常に null を返します。

関連コンテンツ

関連プログラミング言語