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

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

作成日: 更新日:

基本的な使い方

baseURIプロパティは、DOMTextオブジェクトが属するベースURIを保持するプロパティです。このプロパティは読み取り専用であり、そのノードが作成されたドキュメントの絶対URI、またはノードがXML文書内で宣言されたベースURIを返します。

具体的には、WebページやXMLファイルの内容を操作する際に、そのデータがどこから来たのか、あるいは相対パスの基準となる場所を知る必要がある場合に利用されます。例えば、HTMLドキュメント内で画像やリンクが相対パスで指定されている場合、baseURIプロパティの値がそれらの相対パスを解決するための基準点となります。DOMTextオブジェクトはテキストの内容を表すノードですが、このプロパティを通じて、テキストが含まれるドキュメントや親要素のURI情報を取得できます。

DOMTextノード自体に直接のURIがあるわけではなく、このプロパティはノードが所属する文書や親要素から継承されたURIを反映します。そのため、ノードがXML宣言でxml:base属性を持つ要素の子孫である場合や、HTML文書が特定のURLから読み込まれている場合など、そのコンテキストに応じて適切なベースURIが提供されます。システム開発において、動的に生成されたコンテンツのリンク先を正しく解決したり、外部リソースへのパスを構築したりする際に、このベースURI情報が非常に役立ちます。

構文(syntax)

1<?php
2// 新しいDOMドキュメントを作成します。
3$dom = new DOMDocument();
4
5// ドキュメント内にルート要素を作成し、追加します。
6$element = $dom->createElement('example');
7$dom->appendChild($element);
8
9// テキストノードを作成し、その要素の子として追加します。
10$textNode = $dom->createTextNode('Sample Text');
11$element->appendChild($textNode);
12
13// DOMTextオブジェクトのbaseURIプロパティにアクセスして、その値を表示します。
14// baseURIは、ノードの基準URIを示す読み取り専用プロパティです。
15// 通常、ドキュメントがファイルやURLからロードされていない場合、この値は空文字列になります。
16echo $textNode->baseURI;
17?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string|null

DOMTextノードの基底URIを表す文字列、または取得できない場合はnullを返します。