【PHP8.x】localNameプロパティの使い方
localNameプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
localNameプロパティは、XMLの名前空間プレフィックスを除いた要素のローカル名を保持するプロパティです。このプロパティは、HTMLやXMLドキュメントの構造をプログラムで操作するためのPHPのDOM拡張機能において、コメントノードを表すDOMCommentクラスに属しています。
DOMCommentクラスは、ドキュメント内の<!-- ... -->形式のコメント部分をオブジェクトとして扱います。一般的に、localNameプロパティは、XMLの名前空間(例: <prefix:elementName>)を持つ要素ノードに対して、コロン(:)より後の部分、つまりelementNameの部分を返します。これは、要素の名前が名前空間によって修飾されている場合に、その要素本来の名前を知るために使われます。
しかし、コメントノードは要素ノードとは根本的に異なり、XMLの名前空間やプレフィックスを持つことはありません。コメントはドキュメントのメタ情報や説明であり、構造的な要素名とは関係がないためです。したがって、DOMCommentオブジェクトのlocalNameプロパティにアクセスしても、その値は常にnullとなります。これは、コメントノードが名前空間の概念とは無縁であるというDOMの標準仕様に基づいています。
このプロパティは、主に要素ノードが持つ名前空間情報にアクセスする際に利用されますが、DOMCommentに対しては、そのノードタイプが名前空間と無関係であることを示すためにnullが返される、という点を理解する上で重要です。
構文(syntax)
1<?php 2$dom = new DOMDocument(); 3$commentNode = $dom->createComment("これはコメントです"); 4$localName = $commentNode->localName; 5?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
?string
DOMComment::localName プロパティは、ノードのローカル名を表す文字列、または名前空間がない場合は null を返します。