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

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

作成日: 更新日:

基本的な使い方

baseURIプロパティは、PHPのDOMEntityクラスに属し、そのエンティティが定義されているベースURIを保持するプロパティです。ベースURIとは、特定のDOMノードが属するドキュメントやリソースの「基準となるURI」を指します。このプロパティが持つURIは、文書内で相対URIが使用されている場合に、それらを絶対URIに解決するための出発点として機能します。

例えば、XML文書において外部エンティティが宣言され、そのエンティティが別のファイルから読み込まれる場合、このbaseURIプロパティには、その外部エンティティが定義されているファイルのURIが格納されます。これにより、エンティティ内部でさらに相対パスのリソースが参照されていたとしても、その参照の基準点となるURIが明確になり、正確な絶対URIを特定することが可能になります。

このプロパティは読み取り専用であり、ノードがロードされた時点での基準URIを提供します。DOM要素ツリーを操作する際に、特に外部リソースへのパス解決や、文書の異なる部分がどこから来たのかを把握する必要がある場合に非常に有用です。システムエンジニアを目指す初心者の方々も、XML処理やWebコンテンツの解析を行う際に、URIの基準点を理解するための一つの重要な手がかりとして、このbaseURIプロパティの役割を認識しておくと良いでしょう。

構文(syntax)

1<?php
2
3$dom = new DOMDocument();
4$dom->loadXML('<!DOCTYPE root [<!ENTITY example SYSTEM "http://example.com/data.txt">]><root/>');
5
6$doctype = $dom->doctype;
7if ($doctype && $doctype->entities) {
8    $entity = $doctype->entities->getNamedItem('example');
9
10    if ($entity instanceof DOMEntity) {
11        $baseUri = $entity->baseURI;
12        echo $baseUri;
13    }
14}

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

DOMEntityオブジェクトの基底URIを表す文字列が返されます。

関連コンテンツ

関連プログラミング言語