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

【PHP8.x】Dom\EntityReference::baseURIプロパティの使い方

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

作成日: 更新日:

基本的な使い方

『baseURIプロパティは、エンティティ参照ノードが属するドキュメントの基底URIを保持するプロパティです。』 基底URIとは、ドキュメント内で使用されている相対パス(例: ../images/pic.png)を、完全なURLなどの絶対パスに変換するための基準となるURIのことを指します。このプロパティの値は、主にドキュメントが読み込まれた場所(URLやファイルパス)から自動的に決定されます。例えば、XMLドキュメントがウェブサーバー上の特定のアドレスから読み込まれた場合、そのアドレスが基底URIとなります。また、XML文書内で xml:base 属性が指定されている場合は、その値が優先されることもあります。もしドキュメントが特定の場所と関連付けられていない、例えば文字列から直接生成されたり、まだ保存されていなかったりする場合には、このプロパティは null を返すことがあります。baseURIプロパティは読み取り専用であり、直接値を代入して変更することはできません。このプロパティを参照することで、エンティティ参照内で定義されている相対的なリソースへのパスを、プログラムで動的に絶対パスへ解決する際に役立ちます。

構文(syntax)

1<?php
2
3$xml = <<<XML
4<!DOCTYPE document [
5    <!ENTITY myEntity "entity-value">
6]>
7<document>
8    <node>&myEntity;</node>
9</document>
10XML;
11
12$doc = new Dom\Document();
13$doc->loadXML($xml);
14
15$entityReferenceNode = $doc->getElementsByTagName('node')[0]->firstChild;
16
17// Dom\EntityReference オブジェクトの baseURI プロパティを取得します
18$baseUri = $entityReferenceNode->baseURI;
19
20var_dump($baseUri);
21
22?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

?string

Dom\EntityReference クラスの baseURI プロパティは、エンティティ参照の基本 URI を表す文字列、または URI が設定されていない場合は null を返します。

関連コンテンツ

関連プログラミング言語